IndividualDeadLetterStrategy.isDLQ() returns true if Prefix is set to empty String

Solution Unverified - Updated -

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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content