WebSphere MQ 中 JMSXDeliveryCount 增加的条件是什么。我需要它可能发生的所有场景。
最佳答案
每次将消息重新传送给消费者时,JMSXDeliveryCount 都会递增。可以重新传递消息:
1) 使用 Client Acknowledge 模式的消费者较早收到消息时没有对该消息调用 acknowledge()。
2) 消费者在事务中收到消息,没有调用提交或调用回滚。
编辑:
如果 JMS 客户端由于某些错误的 JMS header 而无法处理该消息,则此类消息(称为毒消息)将不会传递给应用程序,并且 JMS 客户端将在内部回滚该消息。在这种情况下,JMSXDeliveryCount 也会增加。
在 IBM MQ 中,您是否为从中检索消息的队列设置了回退队列和回退阈值属性?一旦达到回退阈值,JMS 客户端会将此类错误消息放入回退队列。这是为了避免 JMS 客户端一次又一次地检索相同的消息,从而阻止将其他好的消息传递给应用程序。
关于java - 当 JMSXDeliveryCount 增加时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28020111/