假设我们只有一个消费者,我们的重新发送政策将允许该消息在很长一段时间内重新传递.
我尝试了一种情况,我发送了两条消息(不同的类型),一个被设计为重新传送,另一个可以正常消费.
如果它比重新传递的消息晚发送,似乎正常消息将被阻止.在重新传递的消息多次尝试达到最大重传时间之前,它不会被消耗.这将导致易于消费的消息必须等待很长时间才能消耗的情况.
我想知道AMQ重新启动是如何工作的.当在消费者中重新传递消息时,可以将另一消息发送给该消费者,直到当前消息被消耗或超时(到DLQ).
有人可以帮忙吗?谢谢,
重新传递消息时,ActiveMQ的首要考虑是遵守队列中的消息排序.
给定两条消息A和B,它们会按照您的描述发送到具有已定义的重新传递策略的队列:如果客户端处理A失败,该消息将被放回队列,并且在A成功使用之前不会消耗其他消息.
有关更多详细信息,请查看ActiveMQ消息重新传递和DLQ处理部分.
如果它回答了您的问题,请记得将此回复投票.
| 归档时间: |
|
| 查看次数: |
3324 次 |
| 最近记录: |