我不明白在使用JMS主题时如何处理错误消息。我有一个持久的JMS主题,拥有4个订阅者。我发送消息给主题。 3个用户成功消费该消息,其中一个失败。经过一些重试后,该消息被放入死信队列(DLQ)中。JMS:如何将DLQ中的消息重新传递给主题订阅者?
问题是,如何从那里继续。
如何找出哪个用户失败?
如何仅将消息重新发送给该订阅者?我不能再把它放到话题中,因为所有的用户都会得到它。
是否有一些最佳实践来处理这种情况?
如果那很重要,我使用GlassFish 3.1.2与openMQ。我宁愿使用不特定于实现消息传递提供程序的解决方案。
在此先感谢您的回答。 干杯 Arne
您使用的消息致谢?如果没有,我想你可能需要重新考虑你的设计。可能你需要等待ACK,并根据这些变化逻辑 – maverick
@maverick我看到Acknowledgements会解决问题1,有没有一种机制可以用来解决问题2? – Arne
一旦在相当长的时间内没有收到ACK,并且如果没有支持存储和转发,那么创建一个简单的队列并重新尝试通过该队列的传递怎么办?似乎在这一点上解决方案变得像一个怪物,现在你必须关心的话题和队列。或者尝试一个手工制作的商店,并转发每个消费者?..只是我的两分钱.. – maverick