com.sun.xml.ws.tx.common
Class TransactionManagerImpl

java.lang.Object
  extended by com.sun.xml.ws.tx.common.TransactionManagerImpl
All Implemented Interfaces:
javax.transaction.TransactionManager, javax.transaction.TransactionSynchronizationRegistry

public class TransactionManagerImpl
extends java.lang.Object
implements javax.transaction.TransactionManager, javax.transaction.TransactionSynchronizationRegistry

Access hosting JTA 1.1 TransactionManager and TransactionSynchronizationRegistry.

Dependencies: Sun Java System Application Server publishes TM at JNDI name:


Method Summary
 void begin()
           
 void commit()
           
 CoordinationContextInterface getCoordinationContext()
          Get the coordination context associated with the current transaction.
static TransactionManagerImpl getInstance()
           
 int getRemainingTimeout()
          Returns in seconds duration till current transaction times out.
 java.lang.Object getResource(java.lang.Object object)
           
 boolean getRollbackOnly()
           
 int getStatus()
           
 javax.transaction.Transaction getTransaction()
           
 java.lang.Object getTransactionKey()
           
 int getTransactionStatus()
           
 javax.transaction.UserTransaction getUserTransaction()
           
 boolean isTransactionManagerAvailable()
           
 void putResource(java.lang.Object object, java.lang.Object object0)
           
 void registerInterposedSynchronization(javax.transaction.Synchronization synchronization)
           
 void registerSynchronization(javax.transaction.Synchronization sync)
           
 void resume(javax.transaction.Transaction transaction)
           
 void rollback()
           
 void servletPostInvokeTx(java.lang.Boolean suspend)
          PostInvoke Transaction configuration for Servlet Container.
 void servletPreInvokeTx()
          PreInvoke Transaction configuration for Servlet Container.
 void setCoordinationContext(CoordinationContextInterface coordCtx)
          Set the coordination context associated with the current transaction.
 void setRollbackOnly()
           
 void setTransactionTimeout(int seconds)
           
 javax.transaction.Transaction suspend()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static TransactionManagerImpl getInstance()

getUserTransaction

public javax.transaction.UserTransaction getUserTransaction()

isTransactionManagerAvailable

public boolean isTransactionManagerAvailable()

begin

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

commit

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

getStatus

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

getTransaction

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

resume

public void resume(javax.transaction.Transaction transaction)
            throws javax.transaction.InvalidTransactionException,
                   java.lang.IllegalStateException,
                   javax.transaction.SystemException
Specified by:
resume in interface javax.transaction.TransactionManager
Throws:
javax.transaction.InvalidTransactionException
java.lang.IllegalStateException
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
Throws:
java.lang.IllegalStateException
java.lang.SecurityException
javax.transaction.SystemException

setRollbackOnly

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

setTransactionTimeout

public void setTransactionTimeout(int seconds)
                           throws javax.transaction.SystemException
Specified by:
setTransactionTimeout in interface javax.transaction.TransactionManager
Throws:
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

getTransactionKey

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

putResource

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

getResource

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

registerInterposedSynchronization

public void registerInterposedSynchronization(javax.transaction.Synchronization synchronization)
Specified by:
registerInterposedSynchronization in interface javax.transaction.TransactionSynchronizationRegistry

registerSynchronization

public void registerSynchronization(javax.transaction.Synchronization sync)

getTransactionStatus

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

getRollbackOnly

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

getCoordinationContext

public CoordinationContextInterface getCoordinationContext()
Get the coordination context associated with the current transaction.

Returns null if none set.


setCoordinationContext

public void setCoordinationContext(CoordinationContextInterface coordCtx)
Set the coordination context associated with the current transaction.


servletPreInvokeTx

public void servletPreInvokeTx()
PreInvoke Transaction configuration for Servlet Container. BaseContainer.preInvokeTx() handles all this for CMT EJB. Compensate that J2EEInstanceListener.handleBeforeEvent(BEFORE_SERVICE_EVENT) gets called before WSIT WSTX Service pipe associates a JTA txn with incoming thread. Precondition: assumes JTA transaction already associated with current thread. Note: this method is a no-op when invoked on an EJB.


servletPostInvokeTx

public void servletPostInvokeTx(java.lang.Boolean suspend)
PostInvoke Transaction configuration for Servlet Container. BaseContainer.preInvokeTx() handles all this for CMT EJB. Precondition: assumed called prior to current transcation being suspended or released. Note: this method is a no-op when invoked on an EJB. The J2EE method only has an effect on servlets.

Parameters:
suspend - indicate whether the delisting is due to suspension or transaction completion(commmit/rollback)

getRemainingTimeout

public int getRemainingTimeout()
Returns in seconds duration till current transaction times out. Returns negative value if transaction has already timedout. Returns 0 if there is no timeout. Returns 0 if any exceptions occur looking up remaining transaction timeout.