Apache Camel ActiveMQ组件能否保证将消息传递给代理?
如果我正确理解(reading this doc),骆驼默认为JMS启用persisentDelivery
配置,这将确保使用来自代理的消息。
但是我不明白:它是如何在从应用程序到代理的生产中工作的(如果是的话,它将使用哪种存储)?如果默认情况下不支持这种保证,Camel是否提供一种简单的实现方法?
预先感谢
答案 0 :(得分:0)
仅当代理确认消息后,才安全地将消息发送到代理,并保证该消息。持久性选项仅告诉代理将消息存储在存储器中,而不是仅将消息保留在内存中。
因此,如果Camel由于网络问题等原因无法将消息发送给代理,则操作将失败,并且您需要在Camel中处理此错误。
您可以做的是在您的Camel应用程序旁边安装一个本地ActiveMQ代理,然后将这些代理连接到代理网络中,在该代理网络中,代理将彼此之间安全地路由消息。