camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Gilday" <martin.li...@imap.cc>
Subject Re: Quartz route with Spring transactions
Date Wed, 15 Apr 2009 14:57:20 GMT
Hi Claus,

Yes it is 1.x.  He had the policy set just as you say.  We are thinking
that the problem might be the way he has his test set up.  We are using
spring-test and so the Camel context is created outside of the test case
and then injected in.  We think there might be some threading issues due
to that preventing the route participating in the same transaction as
the one spring-test is creating to run the test case in.

Martin.


----- Original message -----
From: "Claus Ibsen" <claus.ibsen@gmail.com>
To: users@camel.apache.org
Date: Wed, 15 Apr 2009 16:20:57 +0200
Subject: Re: Quartz route with Spring transactions

Hi

I assume its Camel 1.x.

You must use the .policy(required) stuff to indicate a route is
transacted in Camel 1.x
See the transactional client EIP for details.

from(quartz://..).policy(required).to(springBean).to(springBean);

It will commit if the exchange was processed with no exception.
If an exception occured it will rollback and rethrow the exception.

The "required" stuff is the spring transaction policy where you need
to hook it with a TX manager.
But the details are on that EIP page. For instance the: Camel 1.x
Database Sample

Its being rewamped in Camel 2.0 so you can just do .transacted() and
thats it (yes you still need to configure the TX manager but that is
100% standard Spring stuff)






On Wed, Apr 15, 2009 at 4:14 PM, Martin Gilday <martin.lists@imap.cc>
wrote:
> Hi,
> One of my colleagues is trying to create a transactional route which
> starts with a Quartz endpoint.  However the transaction does not appear
> to start.  If he replaces the Quartz endpoint with a Direct then the
> transaction works.  He would like the whole route started by the Quartz
> endpoint to be in one transaction:
>
> from(quartz://..).transactionStarted.to(springBean).to(springBean).transactionCommit;
>
> Should it be possible to do this?  Sorry for the scarce details but I
> don't have his source, I'd just like to make sure what he is doing is
> supported before trying to debug it.
>
> Thanks,
> Martin
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus
Apache Camel Reference Card:
http://refcardz.dzone.com/refcardz/enterprise-integration

Mime
View raw message