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.li...@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

Reply via email to