RabbitMQ骆驼和STOMP

时间:2019-11-21 19:08:06

标签: rabbitmq apache-camel stomp

我使用Spring Reactor Netty Stomp客户端(Spring消息传递框架)成功完成了POC,并通过端口61613(专用于STOMP的端口)连接到RabbitMQ。那只是一个POC。现在,我必须构建一些具体的东西才能在产品环境中进行部署。我在谷歌搜索Spring Messaging与Spring Integration时偶然发现了Apache Camel。

Camel文档中的 RabbitMQ组件页面讨论了端口5672,即AMQP。 STOMP组件页面讨论ActiveMQ。

我没有看到任何与RabbitMQ和STOMP结合使用的骆驼示例或文档。

是否可以使用Apache Camel在端口61613上连接RabbitMQ?

1 个答案:

答案 0 :(得分:0)

Camel documentation for the STOMP component指出:

  

Stomp组件用于与兼容Stomp的消息代理(例如Apache ActiveMQ或ActiveMQ Apollo)进行通信。

注意它说 like Apache ActiveMQ。它并不是说必须是 Apache ActiveMQ。它仅使用ActiveMQ作为“符合Stomp的”消息代理的示例。如果RabbitMQ支持STOMP,那么Camel的STOMP组件应该可以正常工作。

查看Camel的StompEndpoint,显然使用了配置中的brokerURL来建立与Stomp代理的连接。它使用Fusesource Stomp client implementation,它可以与任何符合Stomp的经纪人一起使用。

还值得注意的是Camel是一个集成框架,而Stomp是一个简单的开放式消息传递协议,因此Camel中的Stomp组件仅与几个ActiveMQ代理一起工作没有多大意义。它可以(并将)与任何符合Stomp的经纪人合作(就像文档中所述)。