使用AMQP使用ActiveMQ重新交付

时间:2019-03-06 09:46:10

标签: java tcp apache-camel activemq amqp

我正在开发一个应用程序,该应用程序从队列中获取消息并将其传递到另一个实例。每当发生这种情况时,都应将邮件重新发送到队列中,并且要重新发送。

我正在使用ActiveMQ,并且正在使用AMQP和Camel。为了使这项工作无需重新交付,我使用了JmsConnectionFactory.class。如果我想使重新交付工作正常进行,我将使用ActiveMQConnectionFactory.class,唯一的问题是您应该在那里使用TCP,而我被告知不要这样做。

使用ActiveMQConnectionFactory中的RedeliveryPolicy,我想配置的所有内容都是可能的,但是由于客户端使用AMQP发布消息,因此数据处理不正确,并且对于我的应用程序来说是不可读的。

JmsConnectionFactory类也具有重新交付策略,但是问题是您只能设置maximumRedeliveries,而我希望消息有所延迟。

(我知道有可能在骆驼中重新交付,我也实现了这一点,但是备份计划应该是将消息重新发布到队列中)

有人熟悉这个问题吗,有没有解决方法?

0 个答案:

没有答案