public class TransactionSynchronizer
extends java.lang.Object
implements javax.transaction.Synchronization
This class exists to make sure all Tx synchronizations are invoked before the cached connection manager closes any closed connections.
Modifier and Type | Method and Description |
---|---|
void |
addEnlisted(javax.transaction.Synchronization synch)
The synchronization is now enlisted
|
void |
addUnenlisted(javax.transaction.Synchronization synch)
Add a new Tx synchronization that has not been enlisted
|
void |
afterCompletion(int status) |
void |
beforeCompletion() |
void |
enlisted()
This thread has finished enlisting.
|
static javax.transaction.Synchronization |
getCCMSynchronization(javax.transaction.Transaction tx)
Check whether we have a CCM synchronization
|
static TransactionSynchronizer |
getRegisteredSynchronizer(javax.transaction.Transaction tx,
javax.transaction.TransactionSynchronizationRegistry tsr)
Get a registered transaction synchronizer.
|
java.util.List<javax.transaction.Synchronization> |
getUnenlisted()
Get the unenlisted synchronizations
and say we are enlisting if some are returned.
|
protected void |
invokeAfter(javax.transaction.Synchronization synch,
int status)
Invoke an afterCompletion
|
protected void |
invokeBefore(javax.transaction.Synchronization synch)
Invoke a beforeCompletion
|
static void |
lock(javax.transaction.Transaction tx,
javax.transaction.TransactionSynchronizationRegistry tsr)
Lock for the given transaction
|
static void |
registerCCMSynchronization(javax.transaction.Transaction tx,
javax.transaction.Synchronization synch,
javax.transaction.TransactionSynchronizationRegistry tsr)
Register a new CCM synchronization
|
boolean |
removeEnlisted(javax.transaction.Synchronization synch)
Remove an enlisted synchronization
|
static void |
unlock(javax.transaction.Transaction tx)
Unlock for the given transaction
|
public void addUnenlisted(javax.transaction.Synchronization synch)
synch
- the synchronizationpublic java.util.List<javax.transaction.Synchronization> getUnenlisted()
public void addEnlisted(javax.transaction.Synchronization synch)
synch
- the synchronizationpublic boolean removeEnlisted(javax.transaction.Synchronization synch)
synch
- the synchronizationpublic void enlisted()
public static TransactionSynchronizer getRegisteredSynchronizer(javax.transaction.Transaction tx, javax.transaction.TransactionSynchronizationRegistry tsr) throws javax.transaction.SystemException, javax.transaction.RollbackException
tx
- the transactiontsr
- the transaction synchronization registryjavax.transaction.SystemException
- sys. exceptionjavax.transaction.RollbackException
- rollback exceptionpublic static javax.transaction.Synchronization getCCMSynchronization(javax.transaction.Transaction tx)
tx
- the transactionpublic static void registerCCMSynchronization(javax.transaction.Transaction tx, javax.transaction.Synchronization synch, javax.transaction.TransactionSynchronizationRegistry tsr) throws java.lang.Exception
tx
- the transactionsynch
- the synchronizationtsr
- the transaction synchronization registryjava.lang.Exception
- epublic static void lock(javax.transaction.Transaction tx, javax.transaction.TransactionSynchronizationRegistry tsr) throws javax.transaction.SystemException, javax.transaction.RollbackException
tx
- the transactiontsr
- the transaction synchronization registryjavax.transaction.SystemException
- sys. exceptionjavax.transaction.RollbackException
- rollback exceptionpublic static void unlock(javax.transaction.Transaction tx)
tx
- the transactionpublic void beforeCompletion()
beforeCompletion
in interface javax.transaction.Synchronization
public void afterCompletion(int status)
afterCompletion
in interface javax.transaction.Synchronization
protected void invokeBefore(javax.transaction.Synchronization synch)
synch
- the synchronizationprotected void invokeAfter(javax.transaction.Synchronization synch, int status)
synch
- the synchronizationstatus
- the status of the transactionCopyright © 2013 IronJacamar (http://www.ironjacamar.org)