Yeah, another solution is to just use a single transaction that would encompass all the routing slip steps. This means that if something fails, the whole routing slip would be processed again (because the transaction would start at the beginning), but the benefit is better performance when things are ok (which should be the usual case) because there is a single jms endpoint.
On Wed, Apr 9, 2008 at 11:03 AM, James Strachan <[EMAIL PROTECTED]> wrote: > On 08/04/2008, Guillaume Nodet <[EMAIL PROTECTED]> wrote: > > I don't think the scenario you describe is doable. Camel does not offer > any > > transparent clustering, so if you create a route with multiple steps, > all > > the steps should be included in a single transaction, so that the whole > > route will be rolled back if something bad happens. If the route > begins > > with a JMS endpoint, you could easily set up persistence, transaction > and > > all the QoS needed at this point. > > Agreed. > > So processing one 'step' in the routing slip would be one transaction. > So if your routing slip has 10 steps; those would be 10 transactions > which could be processed in different machines (or in different > clusters). If you are using some transactional transport like JMS or > JDBC; then provided your JMS/database are clustered and your route is > transactional, your camel route will be clustered. > > -- > James > ------- > http://macstrac.blogspot.com/ > > Open Source Integration > http://open.iona.com > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
