Question

I am using ActiveMQ version 5.9.0.

I am running into a situation where messages in composite destinations go to only one of the DLQ destinations instead of going to their individual DLQ destinations. e.g

<policyEntry queue=">">
   <deadLetterStrategy>         
    <individualDeadLetterStrategy queuePrefix="DLQ." useQueueForQueueMessages="true"/>
   </deadLetterStrategy>
</policyEntry>
<compositeQueue name="order.queue">
 <forwardTo>
  <queue physicalName="order.queue-1" />
  <queue physicalName="order.queue-2" />
 </forwardTo>
</compositeQueue>

In above configuration, instead of going to the individual DLQ from order.queue-1 and order.queue-2, messages from order.queue-2 goes to DLQ.order.queue-2 but messages from order.queue-1 just disappear.

Has anybody run across it? Seems like a bug in ActiveMQ.

Any suggestion would help.

Was it helpful?

Solution

It was caused by auditing enabled by default, I had to set enableAudit="false"

<policyEntry queue=">">
 <deadLetterStrategy>         
  <individualDeadLetterStrategy queuePrefix="DLQ." useQueueForQueueMessages="true" enableAudit="false"/>
 </deadLetterStrategy>
</policyEntry>
<compositeQueue name="order.queue">
 <forwardTo>
  <queue physicalName="order.queue-1" />
  <queue physicalName="order.queue-2" />
 </forwardTo>
</compositeQueue>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top