Guillaume, With the JCA component, will it commit the transaction when the message has been delivered to the flow or only when it passed through the whole sequence of services that act on it ?
In order to evaluate whether ServiceMix could be integrated as the core of our financial messaging product, I would need to find out whether it is possible for the binding component to deliver the message to a queue on a single transaction, then service 1 acts on it with an individual transaction, then the next service. While the components that pick up the messages can control the transactions, it is very difficult for services to do this since transaction would need to be started before the onMessageExchange is delivering them. This is especially important since some of the messages may be stored in persistent storage. Thanks for your help Marc -----Original Message----- From: Guillaume Nodet [mailto:[EMAIL PROTECTED] Sent: 20 April 2006 18:03 To: [email protected]; [EMAIL PROTECTED] Subject: Re: Transactions Transactions are highly dependaant of the components used. The file system is in no way transactional, so file pollers won't start any transactions. The JCA component will start one when a jms message arrives and will commit it. All components should be able to enlist their resources in the transaction. Cheers, Guillaume Nodet On 4/20/06, Marc Binck <[EMAIL PROTECTED]> wrote: > Hi everybody. > > Being new to ServiceMix and JBI, I'm still trying to understand how > transactions are used in SM. > > I can see from the source code that a transaction manager is used, but > I cannot see the boundaries of transactions. No component seems to use > a commit. > > If, for example, I define a binding that reads a message from > Websphere MQ, sends the content to a service that forwards it to a > FileWriter. Is there only a single transaction spanning the whole flow > ? What creates and commits it ? Can there be individual transactions ? > > Thanks for your help. > > > Marc Binck > >
