【问题标题】:activemq: how to cause broker redelivery?activemq:如何导致broker重新投递?
【发布时间】:2015-08-16 05:37:12
【问题描述】:

我正在使用 activeMQ 5.10 并尝试基于 instructions here 测试代理重新交付插件。我已经在我的配置文件中设置了该部分,但现在我的问题很简单:我如何实际执行故意“破坏”消息的测试,从而导致代理重新传递它?我有一个 PHP 消费者(Stomp)阻塞直到消息到达,并且故意不确认代理,但我认为这不足以表明消息处理“失败”。 我需要做什么才能真正看到该插件的运行情况?

【问题讨论】:

    标签: php apache activemq stomp


    【解决方案1】:

    您只需要模拟一条损坏的消息。只是强制错误或玩超时(例如,将超时设置为 1 秒并强制您的消费者花 3 秒来处理消息 - 休眠 3 秒。这些只是建议)。 然后将最大重试次数添加到您的测试脚本中,例如3,从那里你应该寻找接收者接收和丢弃的消息 3 次,但代理只显式发送一次。 希望这会有所帮助....我认为您已经解决了最困难的部分

    【讨论】:

      【解决方案2】:

      对于 NACK (Stomp 1.2),Stomp SEND 帧必须设置 persistent 标志,否则它不会出现在 ActiveMQ.DLQ 中

      所以我建议发送带有 persistent:true Stomp 标头的消息并检查这是否有帮助。

      【讨论】:

        猜你喜欢
        • 2012-09-15
        • 2018-05-04
        • 1970-01-01
        • 2012-10-27
        • 2018-04-23
        • 2018-10-21
        • 2014-09-24
        • 2015-10-14
        • 2021-04-24
        相关资源
        最近更新 更多