Apache Camel ActiveMQ组件是否保证将消息传递给代理?

时间:2019-01-17 09:43:37

标签: apache-camel jms

Apache Camel ActiveMQ组件能否保证将消息传递给代理? 如果我正确理解(reading this doc),骆驼默认为JMS启用persisentDelivery配置,这将确保使用来自代理的消息。 但是我不明白:它是如何在从应用程序到代理的生产中工作的(如果是的话,它将使用哪种存储)?如果默认情况下不支持这种保证,Camel是否提供一种简单的实现方法? 预先感谢

1 个答案:

答案 0 :(得分:0)

仅当代理确认消息后,才安全地将消息发送到代理,并保证该消息。持久性选项仅告诉代理将消息存储在存储器中,而不是仅将消息保留在内存中。

因此,如果Camel由于网络问题等原因无法将消息发送给代理,则操作将失败,并且您需要在Camel中处理此错误。

您可以做的是在您的Camel应用程序旁边安装一个本地ActiveMQ代理,然后将这些代理连接到代理网络中,在该代理网络中,代理将彼此之间安全地路由消息。