JBoss Community

Re: Remote Txn Inflow: Synchronizations

created by Tom Jenkinson in JBoss Transactions Development - View the full discussion

Hi David,

 

Hopefully this image:

a. Renders OK in SBS :s

b. Explains what I was thinking

http://community.jboss.org/servlet/JiveServlet/downloadImage/2-629055-17063/450-279/synchronizations.png

 

It looks like we would need at least two additional functions to XATerminator, in the diagram referred to as "XA Terminator enhancement":

a. A before completion method

b. An after completion method

 

We have the hooks in SubordinateAtomicAction to provide the before completion method, we would need to add some more hooks to split out afterCompletion as separate to the normal transaction completion routines.

 

In this picture, I would expect the transport to register a "proxy synchronization" for each subordinate transaction manager that the transaction flows to using the standard Transaction::registerSynchronization mechanism. This proxy would need to be implemented by the (in this case remoting) transport and know how to invoke the remote (new) beforeCompletion/afterCompletion methods on our "enhanced" XATerminator class.

 

Does that sound reasonable?

 

Note, I am also thinking that a similar method will need to be employed to ship the Transaction related functions around, i.e. the transport will be responsible for registering an XAResource with the transaction which is responsible for performing transport layer shipping of these messages to the subordinate transaction manager.

 

The main issue I am still getting my head around is recovery of this system and in particular a way of altering the XID so that local transaction managers can create branches for their XAResources. JCA does not permit this so it still needs a think·

 

Tom

Reply to this message by going to Community

Start a new discussion in JBoss Transactions Development at Community