计算MDB Jms中的重新交付

问题描述 投票:0回答:1

我正在编写MDB(EJB3)。我想要的只是当重新交付时间耗尽我可以在将消息发送到DLQ之前发送电子邮件警报。怎么能实现? (我没有选择浏览DLQ)

我搜索过很多在线帖子,请找我的补充问题

  • 如何在Wildfly10中延迟MDB启动?
  • 如何从属性文件设置EJB3 MDB激活配置(不将它们设置为系统属性)?
jms ejb-3.0 wildfly-10
1个回答
0
投票

有一个名为JMSXDeliveryCount的消息属性,指示消息的传递次数。 JMS 2.0规范的第3.5.11节说明了JMSXDeliveryCount

当客户端收到消息时,强制JMS定义的消息属性JMSXDeliveryCount将设置为消息传递的次数。第一次收到消息时,它将被设置为1,因此值为2或更大意味着该消息已被重新传递。

如果设置了JMSRedelivered消息头值,则JMSXDeliveryCount属性必须始终为2或更多。有关JMSRedelivered消息头的更多信息,请参见第3.4.7节“JMSRedelivered”,

JMSXDeliveryCount属性的目的是允许使用应用程序识别特定消息是否被重复重新传递并采取适当的操作。

JMSXDeliveryCount属性的值不能保证完全正确。 JMS提供程序不会持久保存此值,以确保在发生故障时不会丢失其值。

© www.soinside.com 2019 - 2024. All rights reserved.