5

JMSは、Javaスペースでのメッセージングに対するベンダー中立のAPIです。AMQPの使命は、「すべてのメッセージングミドルウェア間の相互運用性の標準プロトコルになる」ことです。AMQPベンダー間で相互運用可能なJMSクライアントの実装を探しています。具体的には、RabbitMQまたはQpidのいずれかと通信できると便利です。

4

3 に答える 3

5

Qpid JMSクライアント(これは、労力を避けるために、OpenAMQ JMSクライアントと同じコードです)は、AMQP0-9-1でJMSをエンコードします。クライアントの品質について話すことはできませんが、QpidJavaエディションとRabbitMQの両方で機能するはずです。

ただし、完全にロスレスのエンコーディングになるわけではありません。JMSには、AMQPに引き継がれないAPIのビットがいくつかあります。Qpidには、それらのシムが用意されている場合があります。RabbitMQは、概して、そうではありません。私は特に「nolocal」とセレクターについて考えています。おそらく他にもあります。

(実際には、AMQPヘッダー交換を使用してセレクターを/種類/実行しますが、結果はJMSに期待するものとは異なる場合があります)

AMQP1.0を使用するJMSクライアントを作成するための取り組みがあります。しかし、AMQP 1.0をサポートするQpidやRabbitMQのリリースはありません。これは、結局のところ、0-9-1や他の以前のバージョンとはまったく異なるプロトコルです。

于 2012-02-04T13:20:30.070 に答える
1

最近、RabbitMQ(AMQP 0-9-1)でApache Qpidクライアントライブラリ(qpid-client-0.32-bin.tar.gz)を使用しましたが、非常にうまく機能しました。

AMQP 1.0ブローカーに接続する場合は、このQpid lib(apache-qpid-jms-0.1.0-bin.tar.gz)を使用する必要があります。

両方のライブラリはここからダウンロードできます:http: //qpid.apache.org/download.html

于 2015-05-09T14:43:37.257 に答える
0

Qpid自体にJMSクライアントがあります。使用したことはありませんが、AMQPクライアントAPIの下にリストされています

http://qpid.apache.org/

于 2012-01-31T17:43:38.550 に答える