Uploaded image for project: 'JBoss A-MQ'
  1. JBoss A-MQ
  2. ENTMQ-2276

AMQ is ignoring the DLQ policy

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Major
    • None
    • JBoss A-MQ 6.3
    • broker
    • None
    • Workaround Exists
    • Hide

      Just add the DLQ policy in the default queue policy that already exists. For example:

      <policyEntry queue=">" producerFlowControl="true" memoryLimit="10mb" useCache="false">
      <networkBridgeFilterFactory>
      <conditionalNetworkBridgeFilterFactory replayWhenNoConsumers="true" replayDelay="500" />
      </networkBridgeFilterFactory>
      <policyEntry queue=">">
      <deadLetterStrategy>
      <individualDeadLetterStrategy queuePrefix="" queueSuffix=".DLQ" useQueueForQueueMessages="true"/>
      </deadLetterStrategy>
      </policyEntry>
      </policyEntry>

      Show
      Just add the DLQ policy in the default queue policy that already exists. For example: <policyEntry queue=">" producerFlowControl="true" memoryLimit="10mb" useCache="false"> <networkBridgeFilterFactory> <conditionalNetworkBridgeFilterFactory replayWhenNoConsumers="true" replayDelay="500" /> </networkBridgeFilterFactory> <policyEntry queue=">"> <deadLetterStrategy> <individualDeadLetterStrategy queuePrefix="" queueSuffix=".DLQ" useQueueForQueueMessages="true"/> </deadLetterStrategy> </policyEntry> </policyEntry>
    • Hide

      1. Add the following policy entry in the activemq.xml file:

      <policyEntry queue=">">
      <deadLetterStrategy>
      <individualDeadLetterStrategy queuePrefix="" queueSuffix=".DLQ" useQueueForQueueMessages="true"/>
      </deadLetterStrategy>
      </policyEntry>

      2. Create a random queue in the activemq.xml file:

      <destinations>
      <topic physicalName="queue.test"/>
      </destinations>

      3. Send a message to that queue and reject the message in the consumer side ( for example, by throwing a exception on the MessageListener)

      4. After the redeliveries failed the message should go to the DLQ . It could be sent to the right DLQ or to ActiveMQ.DLQ in the first time.

      5. If the message was sent to the right DLQ, shutdown the broker and add a new destination to the file. Anything should fit.

      6. Restart the broker and send the message again to the same destination as before and reject it.

      7. Now the message should go to ActiveMQ.DLQ, if it not in the first place.

      8. Repeat and add a new queue and the message should go to the right DLQ again. The error should happen alternately.

      Show
      1. Add the following policy entry in the activemq.xml file: <policyEntry queue=">"> <deadLetterStrategy> <individualDeadLetterStrategy queuePrefix="" queueSuffix=".DLQ" useQueueForQueueMessages="true"/> </deadLetterStrategy> </policyEntry> 2. Create a random queue in the activemq.xml file: <destinations> <topic physicalName="queue.test"/> </destinations> 3. Send a message to that queue and reject the message in the consumer side ( for example, by throwing a exception on the MessageListener) 4. After the redeliveries failed the message should go to the DLQ . It could be sent to the right DLQ or to ActiveMQ.DLQ in the first time. 5. If the message was sent to the right DLQ, shutdown the broker and add a new destination to the file. Anything should fit. 6. Restart the broker and send the message again to the same destination as before and reject it. 7. Now the message should go to ActiveMQ.DLQ, if it not in the first place. 8. Repeat and add a new queue and the message should go to the right DLQ again. The error should happen alternately.

    Description

      The AMQ is ignoring the DLQ policy if I add a new destination to the activemq.xml. Instead of sending the message to the right DLQ, the broker is sending the message to ActiveMQ.DLQ.

      Attachments

        Activity

          People

            Unassigned Unassigned
            Asouza@redhat.com Angelo Souza
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: