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