【问题标题】:counting Redelivery in MDB Jms计算 MDB Jms 中的重新交付
【发布时间】:2019-05-01 02:58:34
【问题描述】:

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

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

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

【问题讨论】:

  • 请将您的问题限制在一个实际问题上。如果您还有其他问题,请为每个问题创建一个新问题。
  • 我的回答是否解决了您的问题?如果不是,请澄清未解决的问题。如果是这样,请将答案标记为正确,以帮助将来可能有相同问题的其他用户。谢谢!

标签: jms ejb-3.0 wildfly-10


【解决方案1】:

有一个名为JMSXDeliveryCount 的消息属性指示消息已传递多少次。 JMS 2.0 规范的第 3.5.11 节对JMSXDeliveryCount 进行了说明:

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

如果设置了JMSRedelivered 消息头值,则 JMSXDeliveryCount 属性必须始终为 2 或更多。见部分 3.4.7 “JMSRedelivered”了解更多关于JMSRedelivered消息头的信息,

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-23
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 2013-12-17
    • 2016-02-21
    • 2021-03-02
    相关资源
    最近更新 更多