1 Reply Latest reply on Aug 7, 2008 10:01 AM by Gert Vanthienen

    ESB 4.0: transaction support

    Andre Skusa Newbie

      Hi there,

       

      the FUSE ESB 4 preview migration documentation (http://open.iona.com/docs/esb/4.0/migration/index.html) points out that

       

      "The FUSE ESB message bus no longer does any transaction specific processing. It is completely unaware of transaction information. This means that it cannot be used as a transactional resource. It does, however, pass transaction information as it would any other message. This means that transactions can be sent asynchronously."

       

      Also different kind of flows on the base of the NMR are not further supported.

       

      What does this exactly mean if I want to ensure transactions in database accessions from ServiceMix4? And if I want to use transactional mechanisms for rolling back complete processes executed by ServiceMix4?

       

      In general: How does transaction support look like in ServiceMix 4?

       

      Thanks in advance,

       

      Andre Skusa

        • 1. Re: ESB 4.0: transaction support
          Gert Vanthienen Novice

          Andre Skusa,

           

          With ESB 3.x, the ESB itself was a transactional resource.  This means you could enlist sending and receiving messages to it in a transaction.  However, in this model, the exchanges needed to be sent synchronously.

           

          For ESB 4.0, the ESB no longer does anything specific with regards to transactions.  It does convey transaction information over the NMR though, even in an asynchronous exchange, something that wasn't possible before.  This means you can now read a message of a JMS queue in a transaction and send that to another endpoint asynchronously (e.g. a JDBC endpoint which can now insert into the db in the same transaction).

           

          One last thing: in the initial release for ESB 4, we probably won't have all the flows (ST, SEDA, JMS, JCA) that are in ESB 3.x now.  You can make up for most of those by explicitly declaring JMS endpoints, from which messages can be read with or without transaction support and sent along in the NMR.  The extra overhead in configuration comes with a lot more fine-grained control over transactions than with an all-or-nothing flow approach in ESB 3.x.  More advanced flows will be added to ESB 4 again in later releases though.

           

          Regards,

           

          Gert