计算MDB Jms中的重新交付

时间:2019-05-01 02:58:34

标签: jms ejb-3.0 wildfly-10

我正在编写MDB(EJB3)。我只想在重新发送完毕后才能发送电子邮件警报,然后再将消息发送到DLQ。 如何实现? (我没有浏览到DLQ的选项)

我搜索了许多在线帖子,也请找到我的补充问题

  • 如何延迟Wildfly10中的MDB启动?
  • 如何从属性文件设置EJB3 MDB激活配置 (无需将它们设置为系统属性)?

1 个答案:

答案 0 :(得分:0)

有一个名为JMSXDeliveryCount的邮件属性,它指示邮件已被发送多少次。 JMS 2的第3.5.11节。0规范说明了JMSXDeliveryCount

  

当客户端收到消息时,必须的JMS定义的消息   属性JMSXDeliveryCount将设置为   消息已传递。第一次收到消息   将被设置为1,因此值大于等于2表示该邮件已被   重新交付。

     

如果设置了JMSRedelivered邮件标头值,则   JMSXDeliveryCount属性必须始终为2或更大。见章节   3.4.7“ JMS已交付”以获取有关JMSRedelivered消息头的更多信息,

     

JMSXDeliveryCount属性的目的是允许消费   识别是否正在发送特定消息的应用程序   反复交付并采取适当的措施。

     

不能保证JMSXDeliveryCount属性的值是   完全正确。 JMS提供者不应坚持这一点   值,以确保在发生故障时不会丢失其值。