IndividualDeadLetterStrategy.isDLQ() returns true if Prefix is set to empty String
Issue
- We are attempting to configure individual DLQs with a suffixed naming pattern. A queue "MY.SAMPLE" would have the DLQ "MY.SAMPLE.DLQ". Using either of the following within a
does not achieve the desired outcome:
<deadLetterStrategy>
<!-- set an empty prefix -->
<individualDeadLetterStrategy useQueueForQueueMessages="true"
queuePrefix=""
queueSuffix=".DLQ"></individualDeadLetterStrategy>
</deadLetterStrategy>
<deadLetterStrategy>
<individualDeadLetterStrategy useQueueForQueueMessages="true"
queuePrefix="#null"
queueSuffix=".DLQ"></individualDeadLetterStrategy>
</deadLetterStrategy>
Setting an empty prefix results in the "parent" queue being misidentified as a DLQ.
Given the isDLQ() method is used to determine behavior in at least the following class, this would seem to be concerning org.apache.activemq.broker.region.Queue
Setting a null prefix results in the DLQs having the string null as a prefix (i.e. nullMY.SAMPLE.DLQ), see
IndividualDeadLetterStrategy.createDestination(Message,String,String,boolean,Subscription)
Environment
- Red Hat A-MQ
- 6.2
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
