Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to have dead letter queue for individual queues

I currently have a Queue in my ActiveMQ server called hello.world. Whenever a message fails to be processed, ActiveMQ creates a default directory called ActiveMQ.DLQ. Is it possible to change that name to something like hello.world.DLQ? The reason being is that I might have several queues in the future and I want it to be something like <queue_name>.DLQ

like image 333
mpmp Avatar asked Dec 06 '25 05:12

mpmp


1 Answers

The thing you are looking for is called Individual Dead letter Queue strategy, in this process ActiveMQ creates specific DLQ for each queue/topic,

you can implement it as follows, by tweaking your activemq.xml a bit

 <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>

this configuration will create DLQ with names like DLQ.<queue_name> , if you do not want the prefix , you can remove queuePrefix attribute.

hope this helps!

Good luck!

like image 152
Vihar Avatar answered Dec 07 '25 20:12

Vihar



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!