【发布时间】:2014-06-28 19:11:43
【问题描述】:
我们正在尝试利用 ActiveMQ。在 ActiveMQ 应用程序中使用哪种协议更好。
【问题讨论】:
标签: java activemq mqtt spring-amqp
我们正在尝试利用 ActiveMQ。在 ActiveMQ 应用程序中使用哪种协议更好。
【问题讨论】:
标签: java activemq mqtt spring-amqp
AMQP 是面向消息中间件 (MOM) 的应用级标准。 JMS 是用于与 MOM 通信的 Java 标准 API。
使用 JMS 的两个不同 Java 应用程序可能使用不同的 MOM,因此仍然无法通信。 ActiveMQ 是一个带有 JMS 库的 MOM 系统,它允许 Java 程序使用 JMS 访问它,但它不一定使用 WebLogic MOM 与另一个 JMS Java 程序进行通信。
不同的 AMQP MOM 系统可以相互操作(假设它们使用相同版本的 AMQP),因为 AMQP 是一个与 SMTP 类似的标准。 AMQP MOM 系统没有理由不能同时为其 Java 客户端提供 JMS 库。例如,SwiftMQ 提供 JMS API 并使用 AMQP 1.0。
ActiveMQ 支持 AMQP v1.0 协议客户端(有关配置帮助,请参阅http://activemq.apache.org/amqp.html)。您可以使用 QPid 项目的 JMS 客户端或其他非 JMS AQMP v1.0 客户端,ActuveMQ 目前不提供它自己的基于 AMQP 的 JMS 客户端。
如果您使用的是 Spring 框架,那么您也可以使用 Spring AMQP。 如果需求是基本的并且不需要太多处理,那么您可以使用 ActiveMQ。
这完全取决于您的要求以及您想要对其进行何种类型的处理..
【讨论】: