You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by "jason.parr" <ja...@usa.net> on 2011/09/21 10:48:33 UTC
Re: Transaction Error Handler with Dead Letter Channel
Is this still the case that there is no way to specify a dead letter channel
if you want to use a JTA/XA transaction spanning JMS & JDBC operations etc.
If you many applications and all transactional failures get routed to the
same spot, eg for activemq goto ActiveMQ.DLQ this would be unacceptable re:
managing support for large organisations. Is there any way to configure the
default DLQ on an application specific basis? If there is a solution within
camel will it also work for Tibco EMS as this is the prod JMS
infrastructure.
My code:
errorHandler(
transactionErrorHandler()
);
from("{{url.trades}}")
.transacted()
.to("log:com?level=INFO&showBody=true&showHeaders=false")
.setHeader("prevTradeVersion",
bean("tradePersistence","queryTrade"))
.to("bean:tradeConsumer")
.beanRef("tradePersistence", "storeTrade")
.bean(SystemFailure.class);
--
View this message in context: http://camel.465427.n5.nabble.com/Transaction-Error-Handler-with-Dead-Letter-Channel-tp3232320p4825626.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Transaction Error Handler with Dead Letter Channel
Posted by Claus Ibsen <cl...@gmail.com>.
On Wed, Sep 21, 2011 at 10:48 AM, jason.parr <ja...@usa.net> wrote:
> Is this still the case that there is no way to specify a dead letter channel
> if you want to use a JTA/XA transaction spanning JMS & JDBC operations etc.
>
> If you many applications and all transactional failures get routed to the
> same spot, eg for activemq goto ActiveMQ.DLQ this would be unacceptable re:
> managing support for large organisations. Is there any way to configure the
> default DLQ on an application specific basis? If there is a solution within
> camel will it also work for Tibco EMS as this is the prod JMS
> infrastructure.
>
Apache ActiveMQ allows you to configure different DLQ queues.
For example as a prefix to the queue name where the message was stored.
See Apache ActiveMQ documentation for more details, such as:
http://activemq.apache.org/message-redelivery-and-dlq-handling.html
http://activemq.apache.org/redelivery-policy.html
Section 11.5 of the ActiveMQ in Action book also talks about DLQ queues.
> My code:
>
> errorHandler(
> transactionErrorHandler()
> );
>
> from("{{url.trades}}")
> .transacted()
> .to("log:com?level=INFO&showBody=true&showHeaders=false")
> .setHeader("prevTradeVersion",
> bean("tradePersistence","queryTrade"))
> .to("bean:tradeConsumer")
> .beanRef("tradePersistence", "storeTrade")
> .bean(SystemFailure.class);
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Transaction-Error-Handler-with-Dead-Letter-Channel-tp3232320p4825626.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
--
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/