On 14/11/2007, biouele <[EMAIL PROTECTED]> wrote:
>
> Hi ,
> I use camel with 3 JMS endpoints like this :
>
>
> from("jmsEndPointTX:DEV.SANDBOX2").to("jmsEndPointTX:DEV.SANDBOX3").to("jmsEndPointTX:DEV.SANDBOX3").process(new
> Processor(){
> public void process(Exchange e) throws Exception
> {
> System.out.println("SANDBOX3->process " +
> e.getIn().getBody().toString());
> throw new Exception("my EXCEPTION2");
> }
> }).to("jmsEndPointTX:DEV.SANDBOX4");
>
>
> Camel detect error but write message on jmsEndPointTX:DEV.SANDBOX3 queue
>
> My question is why camel does not performs jmsEndPointTX:DEV.SANDBOX3
> rollback
>
> I need explication how transaction rollback works with JMS endpoints
By default Camel defaults to using transacted messaging using Spring
transactions; so providing you are using the same JMS
ConnectionFactory object for all your endpoints, the out of the box
defaults should use the same JMS transaction for the inbound and all
outbound messages. If you wish to use different connection factories
you'll need to create a JTA transaction manager and use XA.
Are you configuring your endpoints in any special way?
--
James
-------
http://macstrac.blogspot.com/
Open Source SOA
http://open.iona.com