You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by nezor <Ky...@oeconnection.com> on 2013/08/20 19:18:32 UTC
AMQ DeadLetterStrategy Not Being Respected
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.
Re: AMQ DeadLetterStrategy Not Being Respected
Posted by nezor <Ky...@oeconnection.com>.
Sorry I thought that was where this was posted.
--
View this message in context: http://camel.465427.n5.nabble.com/AMQ-DeadLetterStrategy-Not-Being-Respected-tp5737613p5737661.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: AMQ DeadLetterStrategy Not Being Respected
Posted by Christian Müller <ch...@gmail.com>.
You should may ask this on the ActiveMQ user mailing list...
Best,
Christian
Am 20.08.2013 20:02 schrieb "nezor" <Ky...@oeconnection.com>:
> 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.
>