## org.jboss.tm.usertx.server
Class UserTransactionSessionImpl

    java.lang.Object
      |
      +--java.rmi.server.RemoteObject
            |
            +--java.rmi.server.RemoteServer
                  |
                  +--java.rmi.server.UnicastRemoteObject
                        |
                        +--org.jboss.tm.usertx.server.UserTransactionSessionImpl

All Implemented Interfaces:
  java.rmi.Remote, java.io.Serializable, java.rmi.server.Unreferenced, UserTransactionSession

public class UserTransactionSessionImpl
extends java.rmi.server.UnicastRemoteObject
implements UserTransactionSession, java.rmi.server.Unreferenced

The RMI remote UserTransaction session implementation. It handles transactions on behalf of a single client.

See Also:
  Serialized Form

Fields inherited from class java.rmi.server.RemoteObject
`ref`

Constructor Summary
`UserTransactionSessionImpl()` A no-args constructor that throws `RemoteException`.

Method Summary
`java.lang.Object` `begin(int timeout)` Start a new transaction, and return its TPC.
`void` `commit(java.lang.Object tpc)` Commit the transaction.
`void` `destroy()` Destroy this session.
`int` `getStatus(java.lang.Object tpc)` Return status of the transaction.
`protected static TransactionPropagationContextFactory` `getTPCFactory()` Get a reference to the TPC Factory
`protected static javax.transaction.TransactionManager` `getTransactionManager()` Get a reference to the transaction manager.
`void` `rollback(java.lang.Object tpc)` Rollback the transaction.
`void` `setRollbackOnly(java.lang.Object tpc)` Mark the transaction for rollback only.
`void` `unreferenced()` When no longer referenced, be sure to rollback any transactions that are still active.

Methods inherited from class java.rmi.server.UnicastRemoteObject
`clone, exportObject, exportObject, exportObject, unexportObject`

Methods inherited from class java.rmi.server.RemoteServer
`getClientHost, getLog, setLog`

Methods inherited from class java.rmi.server.RemoteObject
`equals, getRef, hashCode, toString, toStub`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### UserTransactionSessionImpl

    public UserTransactionSessionImpl()
                               throws java.rmi.RemoteException

  A no-args constructor that throws `RemoteException`.

Method Detail

### getTransactionManager

    protected static javax.transaction.TransactionManager getTransactionManager()

  Get a reference to the transaction manager.

### getTPCFactory

    protected static TransactionPropagationContextFactory getTPCFactory()

  Get a reference to the TPC Factory

### destroy

    public void destroy()
                 throws java.rmi.RemoteException

  Destroy this session.
  Specified by:
    `destroy` in interface `UserTransactionSession`

### begin

    public java.lang.Object begin(int timeout)
                           throws java.rmi.RemoteException,
                                  javax.transaction.NotSupportedException,
                                  javax.transaction.SystemException

  Start a new transaction, and return its TPC.
  Specified by:
    `begin` in interface `UserTransactionSession`
  Parameters:
    `timeout` - The timeout value for the new transaction, in seconds.
  Returns:
    The transaction propagation context for the new transaction.

### commit

    public void commit(java.lang.Object tpc)
                throws java.rmi.RemoteException,
                       javax.transaction.RollbackException,
                       javax.transaction.HeuristicMixedException,
                       javax.transaction.HeuristicRollbackException,
                       java.lang.SecurityException,
                       java.lang.IllegalStateException,
                       javax.transaction.SystemException

  Commit the transaction.
  Specified by:
    `commit` in interface `UserTransactionSession`
  Parameters:
    `tpc` - The transaction propagation context for the transaction.

### rollback

    public void rollback(java.lang.Object tpc)
                  throws java.rmi.RemoteException,
                         java.lang.SecurityException,
                         java.lang.IllegalStateException,
                         javax.transaction.SystemException

  Rollback the transaction.
  Specified by:
    `rollback` in interface `UserTransactionSession`
  Parameters:
    `tpc` - The transaction propagation context for the transaction.

### setRollbackOnly

    public void setRollbackOnly(java.lang.Object tpc)
                         throws java.rmi.RemoteException,
                                java.lang.IllegalStateException,
                                javax.transaction.SystemException

  Mark the transaction for rollback only.
  Specified by:
    `setRollbackOnly` in interface `UserTransactionSession`
  Parameters:
    `tpc` - The transaction propagation context for the transaction.

### getStatus

    public int getStatus(java.lang.Object tpc)
                  throws java.rmi.RemoteException,
                         javax.transaction.SystemException

  Return status of the transaction.
  Specified by:
    `getStatus` in interface `UserTransactionSession`
  Parameters:
    `tpc` - The transaction propagation context for the transaction.

### unreferenced

    public void unreferenced()

  When no longer referenced, be sure to rollback any transactions that are still active.
  Specified by:
    `unreferenced` in interface `java.rmi.server.Unreferenced`

Copyright © 2000 The JBoss Organization. All Rights Reserved.