org.jboss.tm.usertx.client
Class ClientUserTransaction

java.lang.Object
  extended byorg.jboss.tm.usertx.client.ClientUserTransaction
All Implemented Interfaces:
javax.naming.Referenceable, java.io.Serializable, TransactionPropagationContextFactory (src) , UserTransaction (src)

public class ClientUserTransaction
extends java.lang.Object
implements UserTransaction (src) , TransactionPropagationContextFactory (src) , javax.naming.Referenceable, java.io.Serializable

The client-side UserTransaction implementation. This will delegate all UserTransaction calls to the server. Warning: This is only for stand-alone clients that do not have their own transaction service. No local work is done in the context of transactions started here, only work done in beans at the server. Instantiating objects of this class outside the server will change the JRMP GenericProxy so that outgoing calls use the propagation contexts of the transactions started here.

See Also:
Serialized Form

Method Summary
 void begin()
          Starts a new transaction, and associate it with the calling thread.
 void commit()
          Commit the transaction associated with the calling thread.
 javax.naming.Reference getReference()
           
static ClientUserTransaction (src) getSingleton()
          Return a reference to the singleton instance.
 int getStatus()
          Get the status of the transaction associated with the calling thread.
 java.lang.Object getTransactionPropagationContext()
          Return a transaction propagation context for the transaction currently associated with the invoking thread, or null if the invoking thread is not associated with a transaction.
 java.lang.Object getTransactionPropagationContext(Transaction (src)  tx)
          Return a transaction propagation context for the transaction given as an argument, or null if the argument is null or of a type unknown to this factory.
 void rollback()
          Rolls back the transaction associated with the calling thread.
 void setRollbackOnly()
          Mark the transaction associated with the calling thread for rollback only.
 void setTransactionTimeout(int seconds)
          Change the transaction timeout for transactions started by the calling thread with the begin() method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getSingleton

public static ClientUserTransaction (src)  getSingleton()
Return a reference to the singleton instance.


begin

public void begin()
           throws NotSupportedException (src) ,
                  SystemException (src) 
Description copied from interface: UserTransaction (src)
Starts a new transaction, and associate it with the calling thread.

Specified by:
begin in interface UserTransaction (src)
Throws:
NotSupportedException (src) - If the calling thread is already associated with a transaction, and nested transactions are not supported.
SystemException (src) - If the transaction service fails in an unexpected way.

commit

public void commit()
            throws RollbackException (src) ,
                   HeuristicMixedException (src) ,
                   HeuristicRollbackException (src) ,
                   java.lang.SecurityException,
                   java.lang.IllegalStateException,
                   SystemException (src) 
Description copied from interface: UserTransaction (src)
Commit the transaction associated with the calling thread.

Specified by:
commit in interface UserTransaction (src)
Throws:
HeuristicMixedException (src) - If a heuristic decision was made and some some parts of the transaction have been committed while other parts have been rolled back.
RollbackException (src) - If the transaction was marked for rollback only, the transaction is rolled back and this exception is thrown.
java.lang.SecurityException - If the caller is not allowed to commit this transaction.
HeuristicRollbackException (src) - If a heuristic decision to roll back the transaction was made.
java.lang.IllegalStateException - If the calling thread is not associated with a transaction.
SystemException (src) - If the transaction service fails in an unexpected way.

rollback

public void rollback()
              throws java.lang.SecurityException,
                     java.lang.IllegalStateException,
                     SystemException (src) 
Description copied from interface: UserTransaction (src)
Rolls back the transaction associated with the calling thread.

Specified by:
rollback in interface UserTransaction (src)
Throws:
SystemException (src) - If the transaction service fails in an unexpected way.
java.lang.IllegalStateException - If the transaction is in a state where it cannot be rolled back. This could be because the calling thread is not associated with a transaction, or because it is in the prepared state.
java.lang.SecurityException - If the caller is not allowed to roll back this transaction.

setRollbackOnly

public void setRollbackOnly()
                     throws java.lang.IllegalStateException,
                            SystemException (src) 
Description copied from interface: UserTransaction (src)
Mark the transaction associated with the calling thread for rollback only.

Specified by:
setRollbackOnly in interface UserTransaction (src)
Throws:
SystemException (src) - If the transaction service fails in an unexpected way.
java.lang.IllegalStateException - If the transaction is in a state where it cannot be rolled back. This could be because the calling thread is not associated with a transaction, or because it is in the prepared state.

getStatus

public int getStatus()
              throws SystemException (src) 
Description copied from interface: UserTransaction (src)
Get the status of the transaction associated with the calling thread.

Specified by:
getStatus in interface UserTransaction (src)
Returns:
The status of the transaction. This is one of the Status (src) constants. If no transaction is associated with the calling thread, Status.STATUS_NO_TRANSACTION is returned.
Throws:
SystemException (src) - If the transaction service fails in an unexpected way.

setTransactionTimeout

public void setTransactionTimeout(int seconds)
                           throws SystemException (src) 
Description copied from interface: UserTransaction (src)
Change the transaction timeout for transactions started by the calling thread with the UserTransaction.begin() method.

Specified by:
setTransactionTimeout in interface UserTransaction (src)
Parameters:
seconds - The new timeout value, in seconds. If this parameter is 0, the timeout value is reset to the default value.
Throws:
SystemException (src) - If the transaction service fails in an unexpected way.

getTransactionPropagationContext

public java.lang.Object getTransactionPropagationContext()
Description copied from interface: TransactionPropagationContextFactory (src)
Return a transaction propagation context for the transaction currently associated with the invoking thread, or null if the invoking thread is not associated with a transaction.

Specified by:
getTransactionPropagationContext in interface TransactionPropagationContextFactory (src)

getTransactionPropagationContext

public java.lang.Object getTransactionPropagationContext(Transaction (src)  tx)
Description copied from interface: TransactionPropagationContextFactory (src)
Return a transaction propagation context for the transaction given as an argument, or null if the argument is null or of a type unknown to this factory.

Specified by:
getTransactionPropagationContext in interface TransactionPropagationContextFactory (src)

getReference

public javax.naming.Reference getReference()
                                    throws javax.naming.NamingException
Specified by:
getReference in interface javax.naming.Referenceable
Throws:
javax.naming.NamingException