我正在编写MDB(EJB3)。我想要的只是当重新交付时间耗尽我可以在将消息发送到DLQ之前发送电子邮件警报。怎么能实现? (我没有选择浏览DLQ)
我搜索过很多在线帖子,请找我的补充问题
有一个名为JMSXDeliveryCount
的消息属性,指示消息的传递次数。 JMS 2.0规范的第3.5.11节说明了JMSXDeliveryCount
:
当客户端收到消息时,强制JMS定义的消息属性
JMSXDeliveryCount
将设置为消息传递的次数。第一次收到消息时,它将被设置为1,因此值为2或更大意味着该消息已被重新传递。如果设置了
JMSRedelivered
消息头值,则JMSXDeliveryCount
属性必须始终为2或更多。有关JMSRedelivered
消息头的更多信息,请参见第3.4.7节“JMSRedelivered”,
JMSXDeliveryCount
属性的目的是允许使用应用程序识别特定消息是否被重复重新传递并采取适当的操作。
JMSXDeliveryCount
属性的值不能保证完全正确。 JMS提供程序不会持久保存此值,以确保在发生故障时不会丢失其值。