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/