Class SimpleTransactionFactory

java.lang.Object
org.springframework.transaction.jta.SimpleTransactionFactory
All Implemented Interfaces:
TransactionFactory

public class SimpleTransactionFactory extends Object implements TransactionFactory
Default implementation of the TransactionFactory strategy interface, simply wrapping a standard JTA TransactionManager.

Does not support transaction names; simply ignores any specified name.

Since:
2.5
Author:
Juergen Hoeller
See Also:
  • TransactionManager.setTransactionTimeout(int)
  • TransactionManager.begin()
  • TransactionManager.getTransaction()
  • Constructor Details

    • SimpleTransactionFactory

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

    • createTransaction

      public jakarta.transaction.Transaction createTransaction(@Nullable String name, int timeout) throws jakarta.transaction.NotSupportedException, jakarta.transaction.SystemException
      Description copied from interface: TransactionFactory
      Create an active Transaction object based on the given name and timeout.
      Specified by:
      createTransaction in interface TransactionFactory
      Parameters:
      name - the transaction name (may be null)
      timeout - the transaction timeout (may be -1 for the default timeout)
      Returns:
      the active Transaction object (never null)
      Throws:
      jakarta.transaction.NotSupportedException - if the transaction manager does not support a transaction of the specified type
      jakarta.transaction.SystemException - if the transaction manager failed to create the transaction
    • supportsResourceAdapterManagedTransactions

      public boolean supportsResourceAdapterManagedTransactions()
      Description copied from interface: TransactionFactory
      Determine whether the underlying transaction manager supports XA transactions managed by a resource adapter (i.e. without explicit XA resource enlistment).

      Typically false. Checked by AbstractMessageEndpointFactory in order to differentiate between invalid configuration and valid ResourceAdapter-managed transactions.

      Specified by:
      supportsResourceAdapterManagedTransactions in interface TransactionFactory
      See Also:
      • ResourceAdapter.endpointActivation(MessageEndpointFactory, ActivationSpec)
      • MessageEndpointFactory.isDeliveryTransacted(Method)