是否有与所有AMQP代理合作的JMS API /客户端?

JMS是供应商中立的API,用于在Java空间中进行消息传递。 AMQP的使命是“成为所有消息中间件之间互操作性的标准协议”。 我正在寻找可在AMQP供应商之间互操作的JMS客户端实现。 具体来说,如果可以与RabbitMQ或Qpid进行对话,那将会很好。


Qpid JMS客户端(为避免费力,与OpenAMQ JMS客户端相同的代码)对AMQP 0-9-1中的JMS进行编码。 我不能说客户端的质量,但这应该适用于Qpid Java版本和RabbitMQ。

它不会是一个完全无损的编码,但是 - JMS中有一些API并没有传递给AMQP。 Qpid可能会为这些人提供垫片; RabbitMQ大体上不会。 我特别想到'非本地'和选择器。 可能还有其他人。

(事实上​​,它使用AMQP头交换的选择器/类型,但结果可能不是你期望从JMS中得到的结果)

努力创建使用AMQP 1.0的JMS客户端。 但是没有支持AMQP 1.0的Qpid和RabbitMQ版本,毕竟这是一个完全不同于0-9-1和其他先前版本的协议。


我最近用RabbitMQ(AMQP 0-9-1)使用了Apache Qpid客户端库(qpid-client-0.32-bin.tar.gz),它工作得非常好。

如果你想连接到AMQP 1.0 Broker,你应该使用这个Qpid lib(apache-qpid-jms-0.1.0-bin.tar.gz)

这两个库可以从这里下载:http://qpid.apache.org/download.html


Qpid本身有一个JMS客户端。 我从来没有使用它,但它在AMQP客户端API下列出

http://qpid.apache.org/

链接地址: http://www.djcxy.com/p/5829.html

上一篇: Is there a JMS API/Client that works with all AMQP brokers?

下一篇: when does an AMQP/RabbitMQ channel with no connections die?