JMS ActiveMQ使用者,何时确认

时间:2019-06-13 08:41:56

标签: spring activemq spring-jms

我有一个执行以下操作的JMS使用者:

  1. 获取消息。
  2. 处理消息。
  3. 确认消息。

在获取和确认消息之间等待较长时间是否可以?处理邮件可能最多需要 24小时

在Windows服务器上使用Java,Spring JMS,ActiveMQ和CLIENT_ACKNOWLEDGE模式。

1 个答案:

答案 0 :(得分:0)

等待这么长时间以确认消息在技术上是可以的。但是,您可能会遇到多次传递同一条消息和大量浪费资源的问题。

请考虑一种情况,您的客户收到一条消息,该消息可能需要24小时才能处理,但是(由于某种原因)在23点时失败,并且不确认该消息。未确认的消息将传递给另一个消费者,据推测,其他消费者在23小时内所做的所有工作都将重复进行。每次实际上浪费了几天的资源,此过程都可能重复很多次。