Tom Jenkinson [
http://community.jboss.org/people/tomjenkinson] created the discussion
"Re: Remote Txn Inflow: Synchronizations"
To view the discussion, visit:
http://community.jboss.org/message/629055#629055
--------------------------------------------------------------
Hi David,
Hopefully this image:
a. Renders OK in SBS :s
b. Explains what I was thinking
http://community.jboss.org/servlet/JiveServlet/showImage/2-629055-17063/s...
http://community.jboss.org/servlet/JiveServlet/downloadImage/2-629055-170...
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
[
http://community.jboss.org/message/629055#629055]
Start a new discussion in JBoss Transactions Development at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]