【问题标题】:MQ maximum number of retries and backout thresholdMQ 最大重试次数和回退阈值
【发布时间】:2012-04-05 01:21:39
【问题描述】:

在 WAS 中,我创建了一个 jms 队列 X。我还创建了另一个队列 Y,在 MQ 中,我指定 Y 是 X 的回退队列。
现在对于 X,如果我说最大重试次数:3 并且回退阈值为 2,这意味着在 2 次尝试后,如果 X 没有消费该消息,队列管理器会将消息放在 Y 上。在这种情况下,最大重试次数( 3)永远不会到达,因为它永远不会尝试第三次。 X 的监听器永远不会失败。 我的理解正确吗?

【问题讨论】:

    标签: jms message-queue ibm-mq


    【解决方案1】:

    奇怪的是,如果是应用程序决定将 msg 重新排队到退出队列,为什么在队列的属性中定义退出阈值?这个阈值属性不应该在应用程序中定义吗?

    非常混乱。

    【讨论】:

      【解决方案2】:

      一旦达到目标队列上设置的回退阈值,MQ JMS 实现就会将消息移动到回退队列。如果未指定回退队列,MQ JMS 会尝试将消息放入死信队列。

      据我所知,MQ JMS 中没有重试的概念。它可能与 WAS/MDB 有关。

      【讨论】:

        【解决方案3】:

        我不太确定 jms 接口,但是在原生 WMQ 中,队列管理器不会自动将消息重新排队到回退队列。由应用程序查询 backout_count,将其与 backout_threshold 进行比较,然后将消息放入 backout_queue。

        您应该阅读“WebSphere Application Server 如何处理有害消息”——http://www.ibm.com/developerworks/websphere/library/techarticles/0405_titheridge/0405_titheridge.html

        阅读“最佳实践:WebSphere MQ 共享队列和应用程序”也很重要,向下滚动到第 6 期——http://www.ibm.com/developerworks/websphere/library/techarticles/0512_elkins/0512_elkins.html

        【讨论】:

          猜你喜欢
          • 2012-11-04
          • 1970-01-01
          • 2019-12-16
          • 1970-01-01
          • 2021-01-05
          • 2019-05-05
          • 2021-04-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多