Interface TransactionFactory

All Known Implementing Classes:
JtaTransactionManager, SimpleTransactionFactory

public interface TransactionFactory
Strategy interface for creating JTA Transaction objects based on specified transactional characteristics.

The default implementation, SimpleTransactionFactory, simply wraps a standard JTA TransactionManager. This strategy interface allows for more sophisticated implementations that adapt to vendor-specific JTA extensions.

Since:
2.5
Author:
Juergen Hoeller
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    jakarta.transaction.Transaction
    createTransaction(@Nullable String name, int timeout)
    Create an active Transaction object based on the given name and timeout.
    boolean
    Determine whether the underlying transaction manager supports XA transactions managed by a resource adapter (i.e.
  • Method Details

    • createTransaction

      jakarta.transaction.Transaction createTransaction(@Nullable String name, int timeout) throws jakarta.transaction.NotSupportedException, jakarta.transaction.SystemException
      Create an active Transaction object based on the given name and timeout.
      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

      boolean supportsResourceAdapterManagedTransactions()
      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.

      See Also:
      • ResourceAdapter.endpointActivation(MessageEndpointFactory, ActivationSpec)
      • MessageEndpointFactory.isDeliveryTransacted(Method)