org.springframework.transaction.jta

## Interface TransactionFactory

- All Known Implementing Classes:
    JtaTransactionManager, OC4JJtaTransactionManager, SimpleTransactionFactory, WebLogicJtaTransactionManager, WebSphereUowTransactionManager

      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:
    `TransactionManager.getTransaction()`, `SimpleTransactionFactory`, `JtaTransactionManager`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Transaction` | `createTransaction(String name, int timeout)` Create an active Transaction object based on the given name and timeout.
    `boolean` | `supportsResourceAdapterManagedTransactions()` Determine whether the underlying transaction manager supports XA transactions managed by a resource adapter (i.e.

- - ### Method Detail

    - #### createTransaction

          Transaction createTransaction(String name,
                                      int timeout)
                                        throws NotSupportedException,
                                               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:
        `NotSupportedException` - if the transaction manager does not support a transaction of the specified type
        `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(javax.resource.spi.endpoint.MessageEndpointFactory, javax.resource.spi.ActivationSpec)`, `MessageEndpointFactory.isDeliveryTransacted(java.lang.reflect.Method)`