org.apache.geronimo.transaction.manager
Class TransactionManagerImpl

java.lang.Object
  extended by org.apache.geronimo.transaction.manager.TransactionManagerImpl
All Implemented Interfaces:
java.util.EventListener, javax.transaction.TransactionManager, javax.transaction.TransactionSynchronizationRegistry, javax.transaction.UserTransaction, MonitorableTransactionManager, RecoverableTransactionManager, XidImporter
Direct Known Subclasses:
GeronimoTransactionManager

public class TransactionManagerImpl
extends java.lang.Object
implements javax.transaction.TransactionManager, javax.transaction.UserTransaction, javax.transaction.TransactionSynchronizationRegistry, XidImporter, MonitorableTransactionManager, RecoverableTransactionManager

Simple implementation of a transaction manager.

Version:
$Rev: 1026099 $ $Date: 2010-10-22 02:42:58 +0800 (Fri, 22 Oct 2010) $

Field Summary
protected static int DEFAULT_TIMEOUT
           
protected static byte[] DEFAULT_TM_ID
           
 
Constructor Summary
TransactionManagerImpl()
           
TransactionManagerImpl(int defaultTransactionTimeoutSeconds)
           
TransactionManagerImpl(int defaultTransactionTimeoutSeconds, TransactionLog transactionLog)
           
TransactionManagerImpl(int defaultTransactionTimeoutSeconds, XidFactory xidFactory, TransactionLog transactionLog)
           
 
Method Summary
 void addTransactionAssociationListener(TransactionManagerMonitor listener)
           
 void begin()
           
 javax.transaction.Transaction begin(long transactionTimeoutMilliseconds)
           
 void commit()
           
 void commit(javax.transaction.Transaction tx, boolean onePhase)
           
protected  void fireThreadAssociated(javax.transaction.Transaction tx)
           
protected  void fireThreadUnassociated(javax.transaction.Transaction tx)
           
 void forget(javax.transaction.Transaction tx)
           
 long getActiveCount()
          Returns the number of active transactions.
 java.util.Map<javax.transaction.xa.Xid,TransactionImpl> getExternalXids()
           
 java.lang.Object getResource(java.lang.Object key)
           
 boolean getRollbackOnly()
           
 int getStatus()
           
 long getTotalCommits()
          Return the number of total commits
 long getTotalRollbacks()
          Returns the number of total rollbacks
 javax.transaction.Transaction getTransaction()
           
 java.lang.Object getTransactionKey()
           
 int getTransactionStatus()
           
 javax.transaction.Transaction importXid(javax.transaction.xa.Xid xid, long transactionTimeoutMilliseconds)
           
 int prepare(javax.transaction.Transaction tx)
           
 void putResource(java.lang.Object key, java.lang.Object value)
           
 void recoveryError(java.lang.Exception e)
           
 void registerInterposedSynchronization(javax.transaction.Synchronization synchronization)
          jta 1.1 method so the jpa implementations can be told to flush their caches.
 void registerNamedXAResourceFactory(NamedXAResourceFactory namedXAResourceFactory)
           
 void removeTransactionAssociationListener(TransactionManagerMonitor listener)
           
 void resetStatistics()
          Reset statistics
 void resume(javax.transaction.Transaction tx)
           
 void rollback()
           
 void rollback(javax.transaction.Transaction tx)
           
 void setRollbackOnly()
           
 void setTransactionTimeout(int seconds)
           
 javax.transaction.Transaction suspend()
           
 void unregisterNamedXAResourceFactory(java.lang.String namedXAResourceFactoryName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_TIMEOUT

protected static final int DEFAULT_TIMEOUT
See Also:
Constant Field Values

DEFAULT_TM_ID

protected static final byte[] DEFAULT_TM_ID
Constructor Detail

TransactionManagerImpl

public TransactionManagerImpl()
                       throws javax.transaction.xa.XAException
Throws:
javax.transaction.xa.XAException

TransactionManagerImpl

public TransactionManagerImpl(int defaultTransactionTimeoutSeconds)
                       throws javax.transaction.xa.XAException
Throws:
javax.transaction.xa.XAException

TransactionManagerImpl

public TransactionManagerImpl(int defaultTransactionTimeoutSeconds,
                              TransactionLog transactionLog)
                       throws javax.transaction.xa.XAException
Throws:
javax.transaction.xa.XAException

TransactionManagerImpl

public TransactionManagerImpl(int defaultTransactionTimeoutSeconds,
                              XidFactory xidFactory,
                              TransactionLog transactionLog)
                       throws javax.transaction.xa.XAException
Throws:
javax.transaction.xa.XAException
Method Detail

getTransaction

public javax.transaction.Transaction getTransaction()
Specified by:
getTransaction in interface javax.transaction.TransactionManager

setTransactionTimeout

public void setTransactionTimeout(int seconds)
                           throws javax.transaction.SystemException
Specified by:
setTransactionTimeout in interface javax.transaction.TransactionManager
Specified by:
setTransactionTimeout in interface javax.transaction.UserTransaction
Throws:
javax.transaction.SystemException

getStatus

public int getStatus()
              throws javax.transaction.SystemException
Specified by:
getStatus in interface javax.transaction.TransactionManager
Specified by:
getStatus in interface javax.transaction.UserTransaction
Throws:
javax.transaction.SystemException

begin

public void begin()
           throws javax.transaction.NotSupportedException,
                  javax.transaction.SystemException
Specified by:
begin in interface javax.transaction.TransactionManager
Specified by:
begin in interface javax.transaction.UserTransaction
Throws:
javax.transaction.NotSupportedException
javax.transaction.SystemException

begin

public javax.transaction.Transaction begin(long transactionTimeoutMilliseconds)
                                    throws javax.transaction.NotSupportedException,
                                           javax.transaction.SystemException
Throws:
javax.transaction.NotSupportedException
javax.transaction.SystemException

suspend

public javax.transaction.Transaction suspend()
                                      throws javax.transaction.SystemException
Specified by:
suspend in interface javax.transaction.TransactionManager
Throws:
javax.transaction.SystemException

resume

public void resume(javax.transaction.Transaction tx)
            throws java.lang.IllegalStateException,
                   javax.transaction.InvalidTransactionException,
                   javax.transaction.SystemException
Specified by:
resume in interface javax.transaction.TransactionManager
Throws:
java.lang.IllegalStateException
javax.transaction.InvalidTransactionException
javax.transaction.SystemException

getResource

public java.lang.Object getResource(java.lang.Object key)
Specified by:
getResource in interface javax.transaction.TransactionSynchronizationRegistry

getRollbackOnly

public boolean getRollbackOnly()
Specified by:
getRollbackOnly in interface javax.transaction.TransactionSynchronizationRegistry

getTransactionKey

public java.lang.Object getTransactionKey()
Specified by:
getTransactionKey in interface javax.transaction.TransactionSynchronizationRegistry

getTransactionStatus

public int getTransactionStatus()
Specified by:
getTransactionStatus in interface javax.transaction.TransactionSynchronizationRegistry

putResource

public void putResource(java.lang.Object key,
                        java.lang.Object value)
Specified by:
putResource in interface javax.transaction.TransactionSynchronizationRegistry

registerInterposedSynchronization

public void registerInterposedSynchronization(javax.transaction.Synchronization synchronization)
jta 1.1 method so the jpa implementations can be told to flush their caches.

Specified by:
registerInterposedSynchronization in interface javax.transaction.TransactionSynchronizationRegistry
Parameters:
synchronization - interposed synchronization

setRollbackOnly

public void setRollbackOnly()
                     throws java.lang.IllegalStateException
Specified by:
setRollbackOnly in interface javax.transaction.TransactionManager
Specified by:
setRollbackOnly in interface javax.transaction.TransactionSynchronizationRegistry
Specified by:
setRollbackOnly in interface javax.transaction.UserTransaction
Throws:
java.lang.IllegalStateException

commit

public void commit()
            throws javax.transaction.HeuristicMixedException,
                   javax.transaction.HeuristicRollbackException,
                   java.lang.IllegalStateException,
                   javax.transaction.RollbackException,
                   java.lang.SecurityException,
                   javax.transaction.SystemException
Specified by:
commit in interface javax.transaction.TransactionManager
Specified by:
commit in interface javax.transaction.UserTransaction
Throws:
javax.transaction.HeuristicMixedException
javax.transaction.HeuristicRollbackException
java.lang.IllegalStateException
javax.transaction.RollbackException
java.lang.SecurityException
javax.transaction.SystemException

rollback

public void rollback()
              throws java.lang.IllegalStateException,
                     java.lang.SecurityException,
                     javax.transaction.SystemException
Specified by:
rollback in interface javax.transaction.TransactionManager
Specified by:
rollback in interface javax.transaction.UserTransaction
Throws:
java.lang.IllegalStateException
java.lang.SecurityException
javax.transaction.SystemException

importXid

public javax.transaction.Transaction importXid(javax.transaction.xa.Xid xid,
                                               long transactionTimeoutMilliseconds)
                                        throws javax.transaction.xa.XAException,
                                               javax.transaction.SystemException
Specified by:
importXid in interface XidImporter
Throws:
javax.transaction.xa.XAException
javax.transaction.SystemException

commit

public void commit(javax.transaction.Transaction tx,
                   boolean onePhase)
            throws javax.transaction.xa.XAException
Specified by:
commit in interface XidImporter
Throws:
javax.transaction.xa.XAException

forget

public void forget(javax.transaction.Transaction tx)
            throws javax.transaction.xa.XAException
Specified by:
forget in interface XidImporter
Throws:
javax.transaction.xa.XAException

prepare

public int prepare(javax.transaction.Transaction tx)
            throws javax.transaction.xa.XAException
Specified by:
prepare in interface XidImporter
Throws:
javax.transaction.xa.XAException

rollback

public void rollback(javax.transaction.Transaction tx)
              throws javax.transaction.xa.XAException
Specified by:
rollback in interface XidImporter
Throws:
javax.transaction.xa.XAException

recoveryError

public void recoveryError(java.lang.Exception e)
Specified by:
recoveryError in interface RecoverableTransactionManager

registerNamedXAResourceFactory

public void registerNamedXAResourceFactory(NamedXAResourceFactory namedXAResourceFactory)
Specified by:
registerNamedXAResourceFactory in interface RecoverableTransactionManager

unregisterNamedXAResourceFactory

public void unregisterNamedXAResourceFactory(java.lang.String namedXAResourceFactoryName)
Specified by:
unregisterNamedXAResourceFactory in interface RecoverableTransactionManager

getExternalXids

public java.util.Map<javax.transaction.xa.Xid,TransactionImpl> getExternalXids()
Specified by:
getExternalXids in interface XidImporter

addTransactionAssociationListener

public void addTransactionAssociationListener(TransactionManagerMonitor listener)
Specified by:
addTransactionAssociationListener in interface MonitorableTransactionManager

removeTransactionAssociationListener

public void removeTransactionAssociationListener(TransactionManagerMonitor listener)
Specified by:
removeTransactionAssociationListener in interface MonitorableTransactionManager

fireThreadAssociated

protected void fireThreadAssociated(javax.transaction.Transaction tx)

fireThreadUnassociated

protected void fireThreadUnassociated(javax.transaction.Transaction tx)

getActiveCount

public long getActiveCount()
Returns the number of active transactions.

Returns:
the count of active transactions

getTotalCommits

public long getTotalCommits()
Return the number of total commits

Returns:
the number of commits since statistics were reset

getTotalRollbacks

public long getTotalRollbacks()
Returns the number of total rollbacks

Returns:
the number of rollbacks since statistics were reset

resetStatistics

public void resetStatistics()
Reset statistics



Copyright © 2003-2011 The Apache Software Foundation. All Rights Reserved.