【问题标题】:sharedDeadLetterStrategy is not discarding the DLQ messagessharedDeadLetterStrategy 没有丢弃 DLQ 消息
【发布时间】:2012-01-08 13:21:39
【问题描述】:

我正在使用 AMQ 5.5。我想禁用向 ActiveMQ.DLQ 目标发送死信的选项,并完全丢弃(自动)否则将发送到那里的消息。为此,我将代理配置如下:

<amq:destinationPolicy>
        <amq:policyMap>
          <amq:policyEntries>
            <amq:policyEntry topic=">" producerFlowControl="false" >
                <amq:deadLetterStrategy>
                      <amq:sharedDeadLetterStrategy processExpired="false" />
                </amq:deadLetterStrategy>
            </amq:policyEntry>
            <amq:policyEntry queue=">" producerFlowControl="false">
                <amq:deadLetterStrategy>
                      <amq:sharedDeadLetterStrategy processExpired="false" />
                </amq:deadLetterStrategy>
            </amq:policyEntry>

          </amq:policyEntries>
        </amq:policyMap>
    </amq:destinationPolicy>

但是,我仍然看到消息存储在 DLQ 中。你能告诉我这可能是什么原因吗? 我需要修复配置中的任何内容吗?

谢谢

哈里

【问题讨论】:

  • 有人可以帮我解决这个问题吗?它导致我们的数据目录不必要地增长。

标签: activemq messagebroker


【解决方案1】:

这里面临的问题是,上面给出的配置只会丢弃非持久的过期消息。要丢弃所有过期的消息(持久性和非持久性),请使用 discardingDLQBrokerPlugin。

&lt;amq:plugins&gt;

&lt;amq:discardingDLQBrokerPlugin dropAll="true"/&gt;

&lt;/amq:plugins&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-17
    • 1970-01-01
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多