【问题标题】:Several consumers from one ActiveMQ queue来自一个 ActiveMQ 队列的多个消费者
【发布时间】:2013-03-15 11:16:49
【问题描述】:

假设我有几个消费者连接到同一个队列。

我的业务逻辑是:从队列中获取消息,执行一些逻辑操作,如果该操作成功,则确认该消息(作为客户端确认)。

我的问题是,如果这些消费者逻辑之一失败并且它没有对该消息返回确认。

当消息仍在由消费者处理时,是否存在将消息发送给其他消费者的风险?

是否存在某种超时,之后线程会将消息释放回队列?

【问题讨论】:

    标签: java jms activemq


    【解决方案1】:

    消息以循环方式发送给消费者队列消费者。如果消费者失败并且它正在处理的消息在代理处没有得到确认,那么一旦代理检测到消费者连接失败,它将把消息放回队列中,使其可供另一个连接的消费者处理。

    还可以为消息配置重新传递的最大数量,以便在某个点之后将其放置在死信队列中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-22
      • 1970-01-01
      • 1970-01-01
      • 2014-06-27
      • 1970-01-01
      • 1970-01-01
      • 2019-02-26
      相关资源
      最近更新 更多