我对JMS还不熟悉,稍微了解了一下RabbitMQ,并且现在正在尝试找出RabbitMQ与JMS的区别。它是如何使用的以及为什么应该使用它?
提前感谢。
我对JMS还不熟悉,稍微了解了一下RabbitMQ,并且现在正在尝试找出RabbitMQ与JMS的区别。它是如何使用的以及为什么应该使用它?
提前感谢。
JMS是Java API(JEE的一部分)。
JMS供应商使用专有协议与代理程序通信;它们不是线路兼容的。
通常可以通过更改特定于供应商的配置(连接工厂等)与任何JMS代理程序交互。
供应商提供JMS客户端库以与其代理程序通信。
AMQP是一种线路协议,而不是API。
供应商提供Java客户端API。
可以使用Spring AMQP,在RabbitMQ的amqp-client
库及其API之上运行。
可以使用Spring JMS,使用JMS API与任何JMS代理程序(包括具有插件的RabbitMQ)进行通信。
如果需要与任何JMS供应商兼容,请使用spring-jms;如果您只打算使用RabbitMQ,则建议使用Spring AMQP。
或者,使用Spring Integration在两者之上,可以通过更改配置在AMQP和JMS之间切换。
我不确定你所说的RabbitMQ for JMS
是什么意思,但我会在下面列出它们之间的区别。
RabbitMQ
JMS