Class UserTransactionAdapter

java.lang.Object
org.springframework.transaction.jta.UserTransactionAdapter
All Implemented Interfaces:
jakarta.transaction.UserTransaction

public class UserTransactionAdapter extends Object implements jakarta.transaction.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.

As of Spring Framework 7.1, this adapter supports the JTA 2.1 read-only methods as well.

Since:
1.1.5
Author:
Juergen Hoeller
  • Constructor Details

    • UserTransactionAdapter

      public UserTransactionAdapter(jakarta.transaction.TransactionManager transactionManager)
      Create a new UserTransactionAdapter for the given TransactionManager.
      Parameters:
      transactionManager - the JTA TransactionManager to wrap
  • Method Details

    • getTransactionManager

      public final jakarta.transaction.TransactionManager getTransactionManager()
      Return the JTA TransactionManager that this adapter delegates to.
    • setTransactionTimeout

      public void setTransactionTimeout(int timeout) throws jakarta.transaction.SystemException
      Specified by:
      setTransactionTimeout in interface jakarta.transaction.UserTransaction
      Throws:
      jakarta.transaction.SystemException
    • begin

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

      public void begin(boolean isReadOnly) throws jakarta.transaction.NotSupportedException, jakarta.transaction.SystemException
      JTA 2.1 begin(boolean) method.
      Throws:
      jakarta.transaction.NotSupportedException
      jakarta.transaction.SystemException
      Since:
      7.1
    • commit

      public void commit() throws jakarta.transaction.RollbackException, jakarta.transaction.HeuristicMixedException, jakarta.transaction.HeuristicRollbackException, SecurityException, jakarta.transaction.SystemException
      Specified by:
      commit in interface jakarta.transaction.UserTransaction
      Throws:
      jakarta.transaction.RollbackException
      jakarta.transaction.HeuristicMixedException
      jakarta.transaction.HeuristicRollbackException
      SecurityException
      jakarta.transaction.SystemException
    • rollback

      public void rollback() throws SecurityException, jakarta.transaction.SystemException
      Specified by:
      rollback in interface jakarta.transaction.UserTransaction
      Throws:
      SecurityException
      jakarta.transaction.SystemException
    • setRollbackOnly

      public void setRollbackOnly() throws jakarta.transaction.SystemException
      Specified by:
      setRollbackOnly in interface jakarta.transaction.UserTransaction
      Throws:
      jakarta.transaction.SystemException
    • getStatus

      public int getStatus() throws jakarta.transaction.SystemException
      Specified by:
      getStatus in interface jakarta.transaction.UserTransaction
      Throws:
      jakarta.transaction.SystemException
    • isReadOnly

      public boolean isReadOnly() throws jakarta.transaction.SystemException
      JTA 2.1 isReadOnly() method.
      Throws:
      jakarta.transaction.SystemException
      Since:
      7.1