我正在使用虚拟目的地在 ActiveMQ 5.15.13 中实现发布订阅模型。
我有一个虚拟主题VirtualTopic
,并且绑定了两个队列。每个队列都有自己的重新传递策略。假设Queue 1
在处理消息时出现异常,将重试消息 2 次,Queue 2
并将重试消息 3 次。发布重试消息将被发送到死信队列。
我观察到,当一条消息发送到 时VirtualTopic
,它会被传递到两个队列。我面临一个问题,如果两个队列的消费者都无法成功处理消息。发往的消息Queue 1
在重试 2 次后被移动到死信队列。我的期望是,Queue 2
在 3 次重试后,消息会被删除。但是该消息仅向消费者重试Queue 2
了 2 次,然后Queue 2
作为待处理消息被卡住。
我在 activemq 代理中没有进行任何特定配置,并且以编程方式应用了重新传递策略。有没有我缺少的配置?