I'm using the standard activemq-broker.xml which comes pre-installed with
Fuse with a slight change. I have added a deadLetterStrategy for Topics and
Queues as indicated by this page 
http://activemq.apache.org/message-redelivery-and-dlq-handling.html
<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 transportConnector are default,
<transportConnectors>
     <transportConnector name="openwire" uri="tcp://localhost:61616"/>
     <transportConnector name="stomp" uri="stomp://localhost:61613"/>
</transportConnectors>

Next, the ActiveMQConnectionFactory is configured to use the default broker
from the activemq-broker.xml and my 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://camel.465427.n5.nabble.com/AMQ-DeadLetterStrategy-Not-Being-Respected-tp5737613.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to