是否可能为单个队列设置死信队列

mpm*_*pmp 3 java activemq-classic

我目前在我的ActiveMQ服务器中有一个名为的Queue hello.world.每当消息无法处理时,ActiveMQ都会创建一个名为的默认目录ActiveMQ.DLQ.是否可以将该名称更改为类似的名称hello.world.DLQ?原因是我将来可能有几个队列,我希望它是类似的<queue_name>.DLQ

Vih*_*har 5

调用你正在寻找的东西Individual Dead letter Queue strategy,在这个过程中,ActiveMQ为每个队列/主题创建特定的DLQ,

您可以按如下,通过调整你实现它activemq.xml有点

 <destinationPolicy>
    <policyMap>
      <policyEntries>
       <policyEntry queue=">">  <!-- '>' is the wildcard used in ActiveMQ which means for all queues, i.e. same as '*' in any other language -->
        <!-- need to add the following lines in you conf file -->
          <deadLetterStrategy>
            <individualDeadLetterStrategy
              queuePrefix="DLQ." useQueueForQueueMessages="true" />
          </deadLetterStrategy>
        </policyEntry>
      </policyEntries>
    </policyMap>
  </destinationPolicy>
Run Code Online (Sandbox Code Playgroud)

此配置将创建具有名称的DLQ DLQ.<queue_name>,如果您不想要前缀,则可以删除queuePrefix属性.

希望这可以帮助!

祝好运!