Announcement Announcement Module
No announcement yet.
XA Transactions across J2EE Containers Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • XA Transactions across J2EE Containers


    This is more of a question that will help me in an architectural decission to incorporate Spring for transaction management.

    I have 3 app servers 2 x WLS 8.1 and 1 x JBOSS 3.2.5 involved in a distributed transaction. Currently one of the WLS servers initiates the XA transaction using container management. The EJB methods involved in this transaction deployed on the other WLS and JBOSS servers are deployed with Mandatory. The Transaction managers from the other servers are registered with the controlling Transaction manager and the transaction context is propogated to these Transaction Managers allowing them to participate in the XA transaction.

    How using Spring could I enlist the other Transaction Managers into this distributed transaction so that I can remove the Stateless Session Bean from the first WLS server that controlls the transaction, and move this to a POJO that does not reside in a J2EE container?

    I have read through some of the other posts on this forum and they only address XA transaction with multiple data sources and not across J2EE application servers.


  • #2
    You could remove the Session bean from the WLS server, and just use Spring with JTA Transactions and an XA capable datasource. But you're not going to get away from needing a J2EE, JTA, XA (2-phase commit) capable environment. Spring is not an XA capable transaction manager by itself...


    • #3

      I have two apps that need to run on separate servers (JBoss 3.2.7) and would like to have them participate in one distributed transaction. Both services need to manipulate one entity in the shared transaction. The database used is Informix.

      So far, I managed to get the two services talk to each other and try to write their info into the database. But as soon as the second service tries to obtain the transaction, I get an XAException with error code XAER_DUPID.

      Has anyone managed to set up an XA scenario distributed across multiple app servers?