3 Replies Latest reply on Feb 4, 2016 3:14 AM by tomjenkinson

    Integrate with Camel to support XA Transaction


      Hi all,


      I'm looking into [JBTM-1820] Integrate with Camel to support XA Transaction - JBoss Issue Tracker and currently the Camel use the spring TransactionTemplates to implement the Transactional Client pattern[1]

      You should use the SpringRouteBuilder to setup the routes since you will need to setup the spring context with the TransactionTemplates that will define the transaction manager configuration and policies.


      So I'm thinking that it is possible to provide the NarayanaRouteBuilder to inject the narayana transaction manager and setup up the context.



      [1] Apache Camel: Transactional Client

        • 1. Re: Integrate with Camel to support XA Transaction

          I believe dpalmer has some experience with Camel and might be familiar with the transaction side of things?


          Do we have to use a spring template to integrate with camel?


          What interface would a NarayanaRouteBuilder implement? What would it look like? Perhaps we should create two issues, one to do a straightforward Spring integration and one to look at whether a lower level integration can be applied directly onto Narayana.

          • 2. Re: Integrate with Camel to support XA Transaction

            Hi Tom & Amos,


            Thanks for considering to add Narayana integration with Camel.  I am at a client site - a JEE shop using Fuse 6.2.1 on EAP.  They are adopting Camel for routing & ESB.  Having Camel use Spring for JTA with no option to choose other JTA managers is causing confusion.  It would be a good idea for Camel to have plug and play integration with various JTA managers Narayana, Spring, Atomikos etc., This would be helpful in pure JEE shops or in other cases where alternate JTA manager is required.



            • 3. Re: Integrate with Camel to support XA Transaction

              We are working on a something at the moment that allows Narayana to be used as the transaction manager for Spring Transactions. So the real heavy lifting is done by Narayana via an integration layer provided by the framework. That work is being tracked under [JBTM-2605] Narayana Spring integration - JBoss Issue Tracker we can investigate whether it is possible to bypass Spring completely but as its just the framework and not providing the actual transaction manager that might satisfy your need?