2012-01-30 3 views
5

JMSは、Java空間内のメッセージングに対するベンダーに依存しないAPIです。 AMQPの使命は、「すべてのメッセージングミドルウェア間の相互運用性のための標準プロトコルになること」です。私は、AMQPベンダ間で相互運用可能なJMSクライアント実装を探しています。具体的には、RabbitMQまたはQpidのいずれかと話すことができればうれしいでしょう。すべてのAMQPブローカで動作するJMS API /クライアントはありますか?

答えて

5

の下にここにリストされている(努力の回避のために、である、OpenAMQ JMSクライアントと同じコード)Qpid JMSクライアントは、JMSをコードしていますAMQP 0-9-1で。私はクライアントの品質について話すことはできませんが、それはQpid Java版とRabbitMQの両方で機能するはずです。

完全にロスレスなエンコ​​ードではありませんが、JMSにはいくつかのビットがあり、AMQPに渡されません。 Qpidにはシムがあるかもしれません。 RabbitMQは、それだけではありません。私は特に "nolocal"とセレクターを考えています。おそらく他のものがあります。

(実際に/種類の/セレクタがAMQPヘッダの交換を使用しないが、結果はあなたがJMSから期待するものではないかもしれない)

AMQP 1.0を使用してJMSクライアントを作成するための努力があります。しかし、AMQP 1.0をサポートするQpidやRabbitMQのリリースはありません。これは、実際には0-9-1やその他の以前のバージョンとは全く異なるプロトコルです。

0

QpidにはJMSクライアントがあります。私はそれを使ったことがないが、それは、AMQPクライアントのAPI

http://qpid.apache.org/

1

私は最近、RabbitMQ(AMQP 0-9-1)でApache Qpidクライアントライブラリ(qpid-client-0.32-bin.tar.gz)を使用しました。

あなたはAMQP 1.0ブローカーに接続したい場合は、両方のlibsは、ここからダウンロードすることができ、このQpid libに(apacheの-qpid-JMS-0.1.0-bin.tar.gz)

を使用する必要があります。 http://qpid.apache.org/download.html

+1

受け入れられる回答は古いですが、今では1.0互換クライアントを提供しています。 – r590

関連する問題