activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From nezor <kyle.eckh...@oeconnection.com>
Subject AMQ DeadLetterStrategy Not Being Respected
Date Wed, 21 Aug 2013 13:35:06 GMT
I'm using the standard activemq-broker.xml which comes pre-installed with
Fuse my version of ActiveMQ is 5.5.1. I have added a deadLetterStrategy for
Topics and Queues as indicated by this article
http://activemq.apache.org/message-redelivery-and-dlq-handling.html

<destinationPolicy>
    <policyMap>
      <policyEntries>
        <policyEntry topic=">" producerFlowControl="true" memoryLimit="1mb"> 
          <pendingSubscriberPolicy>
            <vmCursor />
          </pendingSubscriberPolicy>
          <deadLetterStrategy>
            <individualDeadLetterStrategy queueSuffix=".DLQ"
useQueueForTopicMessages="true"/>
          </deadLetterStrategy>
        </policyEntry>
        <policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb"> 
          <deadLetterStrategy>
            <individualDeadLetterStrategy queueSuffix=".DLQ"
useQueueForQueueMessages="true"/>
          </deadLetterStrategy>
        </policyEntry>
      </policyEntries>
    </policyMap>
</destinationPolicy>  

The transportConnectors are default, 
<transportConnectors>
     <transportConnector name="openwire" uri="tcp://localhost:61616"/>
     <transportConnector name="stomp" uri="stomp://localhost:61613"/>
</transportConnectors>

Next, I have my ActiveMQConnectionFactory setup to use the default broker as
well as a simple redelivery policy. 
<bean id="jmsConnectionFactory"
class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL">
      <value>tcp://localhost:61616</value>  
    </property>
    <property name="redeliveryPolicy" ref="standardRedeliveryPolicy"/>
</bean>

The rest of the configuration is standard my JmsConfiguration has transacted
= true. 

My route takes a message from a topic consumer and attempts to send the
message to an http endpoint using <transacted
ref="PROPAGATION_REQUIRES_NEW"/>. The http endpoint is offline so the
message fails I watch the transaction rollback and replay 5 times, as
configured by the redelivery policy. But after the 5 tries the message is
dumped into the default DLQ, ActiveMQ.DLQ, instead of the configured
"queue/topic name".DLQ. 

What am I missing here? Any help would be greatly appreciated, thank you!



--
View this message in context: http://activemq.2283324.n4.nabble.com/AMQ-DeadLetterStrategy-Not-Being-Respected-tp4670553.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Mime
View raw message