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
`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)`