【发布时间】:2017-03-30 09:07:04
【问题描述】:
我是 JMS 的新手。 我对 RabbitMq 知之甚少,现在试图找出 rabbitMQ 与 JMS 的区别。它是如何使用的以及为什么要使用它?
提前致谢。
【问题讨论】:
标签: spring-boot rabbitmq jms spring-jms
我是 JMS 的新手。 我对 RabbitMq 知之甚少,现在试图找出 rabbitMQ 与 JMS 的区别。它是如何使用的以及为什么要使用它?
提前致谢。
【问题讨论】:
标签: spring-boot rabbitmq jms spring-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
【讨论】: