ActiveMQ 使用的不同消息传递协议的互操作性

Interoperability of different messaging protocols used by ActiveMQ

Apaches 的 ActiveMQ supports a wide range of different protocols and makes it quite easy to find a cross-language-client.

通过阅读文档,我得到的印象是 ActiveMQ 能够转换协议,尽管没有明确说明。例如 Java 客户端使用 AMQP protocol might queue a message which is fetched by a PHP client using STOMP.

我的问题是:我说得对吗?如果是,我想知道 ActiveMQ 如何处理协议支持的不同功能。例如,AMQP 非常清楚地说明了消息如何排队,而 STOMP 则没有。

是的,ActiveMQ 尽力支持客户端之间的互操作性和透明性。

请务必注意,在内部,所有消息都映射到基于 JMS API 规范的通用格式。

因此您可以查看每个协议文档页面,了解各种协议如何映射到 JMS。特别是元数据和负载格式。

对于 AMQP,您可以决定是要启用类似 JMS 格式的映射还是只传递消息 "as-is"。但没有任何转换是完美的,所以您最好的办法就是尝试您的案例,看看它是否足够好。

http://activemq.apache.org/stomp.html

http://activemq.apache.org/amqp.html

http://activemq.apache.org/mqtt.html