org.springframework.transaction.jta

## Class UserTransactionAdapter

- java.lang.Object
- - org.springframework.transaction.jta.UserTransactionAdapter

- All Implemented Interfaces:
    UserTransaction

      public class UserTransactionAdapter
      extends Object
      implements UserTransaction

  Adapter for a JTA UserTransaction handle, taking a JTA `TransactionManager` reference and creating a JTA `UserTransaction` handle for it.

  The JTA UserTransaction interface is an exact subset of the JTA TransactionManager interface. Unfortunately, it does not serve as super-interface of TransactionManager, though, which requires an adapter such as this class to be used when intending to talk to a TransactionManager handle through the UserTransaction interface.

  Used internally by Spring's `JtaTransactionManager` for certain scenarios. Not intended for direct use in application code.

  Since:
    1.1.5
  Author:
    Juergen Hoeller

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `UserTransactionAdapter(TransactionManager transactionManager)` Create a new UserTransactionAdapter for the given TransactionManager.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `begin()`
    `void` | `commit()`
    `int` | `getStatus()`
    `TransactionManager` | `getTransactionManager()` Return the JTA TransactionManager that this adapter delegates to.
    `void` | `rollback()`
    `void` | `setRollbackOnly()`
    `void` | `setTransactionTimeout(int timeout)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### UserTransactionAdapter

          public UserTransactionAdapter(TransactionManager transactionManager)

      Create a new UserTransactionAdapter for the given TransactionManager.
      Parameters:
        `transactionManager` - the JTA TransactionManager to wrap

  - ### Method Detail

    - #### getTransactionManager

          public final TransactionManager getTransactionManager()

      Return the JTA TransactionManager that this adapter delegates to.

    - #### setTransactionTimeout

          public void setTransactionTimeout(int timeout)
                                     throws SystemException

      Specified by:
        `setTransactionTimeout` in interface `UserTransaction`
      Throws:
        `SystemException`

    - #### begin

          public void begin()
                     throws NotSupportedException,
                            SystemException

      Specified by:
        `begin` in interface `UserTransaction`
      Throws:
        `NotSupportedException`
        `SystemException`

    - #### commit

          public void commit()
                      throws RollbackException,
                             HeuristicMixedException,
                             HeuristicRollbackException,
                             SecurityException,
                             SystemException

      Specified by:
        `commit` in interface `UserTransaction`
      Throws:
        `RollbackException`
        `HeuristicMixedException`
        `HeuristicRollbackException`
        `SecurityException`
        `SystemException`

    - #### rollback

          public void rollback()
                        throws SecurityException,
                               SystemException

      Specified by:
        `rollback` in interface `UserTransaction`
      Throws:
        `SecurityException`
        `SystemException`

    - #### setRollbackOnly

          public void setRollbackOnly()
                               throws SystemException

      Specified by:
        `setRollbackOnly` in interface `UserTransaction`
      Throws:
        `SystemException`

    - #### getStatus

          public int getStatus()
                        throws SystemException

      Specified by:
        `getStatus` in interface `UserTransaction`
      Throws:
        `SystemException`