3

我正在实现未发送的消息处理,但有一个问题。死信策略可以在配置文件的服务器端设置(通过队列名称模式),但我的消息队列是动态创建的,并且它们的名称在配置阶段是未知的。所以我想知道是否可以从客户端设置死信策略?

4

2 回答 2

1

这可能不是您想要的,但根据this,您应该能够>在配置中使用通配符,IndividualDeadLetterStrategy以便每个队列都有自己的 DLQ。请参阅此部分:

如果您愿意,可以使用通配符应用此策略,以便所有队列都有自己的死信队列,如下例所示。

<broker...>
  <destinationPolicy>
    <policyMap>
      <policyEntries>
        <!-- Set the following policy on all queues using the '>' wildcard -->
        <policyEntry queue=">">
          <deadLetterStrategy>
            <!--
              Use the prefix 'DLQ.' for the destination name, and make
              the DLQ a queue rather than a topic
            -->
            <individualDeadLetterStrategy
              queuePrefix="DLQ." useQueueForQueueMessages="true" />
于 2012-11-23T20:59:34.973 回答
0

在此链接中,您将找到如何配置它的示例,这是摘录:

<spring:bean id="AmqDeadLetterStrategy"
    class="org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy"
                     p:queuePrefix="DLQ." />

<spring:bean id="AmqDefaultPolicyEntry"
                     class="org.apache.activemq.broker.region.policy.PolicyEntry"
                     p:queue="jobs.*"
                     p:deadLetterStrategy-ref="AmqDeadLetterStrategy" />
于 2015-09-18T05:21:08.397 回答