public abstract class ConnectionFactoryUtils extends Object
ConnectionFactory. Includes special
 support for Spring-managed transactional Connections, e.g. managed
 by CciLocalTransactionManager or
 JtaTransactionManager.
 Used internally by CciTemplate,
 Spring's CCI operation objects and the CciLocalTransactionManager.
 Can also be used directly in application code.
getConnection(javax.resource.cci.ConnectionFactory), 
releaseConnection(javax.resource.cci.Connection, javax.resource.cci.ConnectionFactory), 
CciLocalTransactionManager, 
JtaTransactionManager, 
TransactionSynchronizationManager| Constructor and Description | 
|---|
ConnectionFactoryUtils()  | 
| Modifier and Type | Method and Description | 
|---|---|
static Connection | 
doGetConnection(ConnectionFactory cf)
Actually obtain a CCI Connection from the given ConnectionFactory. 
 | 
static void | 
doReleaseConnection(Connection con,
                   ConnectionFactory cf)
Actually close the given Connection, obtained from the given ConnectionFactory. 
 | 
static Connection | 
getConnection(ConnectionFactory cf)
Obtain a Connection from the given ConnectionFactory. 
 | 
static Connection | 
getConnection(ConnectionFactory cf,
             ConnectionSpec spec)
Obtain a Connection from the given ConnectionFactory. 
 | 
static boolean | 
isConnectionTransactional(Connection con,
                         ConnectionFactory cf)
Determine whether the given JCA CCI Connection is transactional, that is,
 bound to the current thread by Spring's transaction facilities. 
 | 
static void | 
releaseConnection(Connection con,
                 ConnectionFactory cf)
Close the given Connection, obtained from the given ConnectionFactory,
 if it is not managed externally (that is, not bound to the thread). 
 | 
public static Connection getConnection(ConnectionFactory cf) throws CannotGetCciConnectionException
Is aware of a corresponding Connection bound to the current thread, for example
 when using CciLocalTransactionManager. Will bind a Connection to the thread
 if transaction synchronization is active (e.g. if in a JTA transaction).
cf - the ConnectionFactory to obtain Connection fromCannotGetCciConnectionException - if the attempt to get a Connection failedreleaseConnection(javax.resource.cci.Connection, javax.resource.cci.ConnectionFactory)public static Connection getConnection(ConnectionFactory cf, ConnectionSpec spec) throws CannotGetCciConnectionException
Is aware of a corresponding Connection bound to the current thread, for example
 when using CciLocalTransactionManager. Will bind a Connection to the thread
 if transaction synchronization is active (e.g. if in a JTA transaction).
cf - the ConnectionFactory to obtain Connection fromspec - the ConnectionSpec for the desired Connection (may be null).
 Note: If this is specified, a new Connection will be obtained for every call,
 without participating in a shared transactional Connection.CannotGetCciConnectionException - if the attempt to get a Connection failedreleaseConnection(javax.resource.cci.Connection, javax.resource.cci.ConnectionFactory)public static Connection doGetConnection(ConnectionFactory cf) throws ResourceException
getConnection(javax.resource.cci.ConnectionFactory), but throwing the original ResourceException.
 Is aware of a corresponding Connection bound to the current thread, for example
 when using CciLocalTransactionManager. Will bind a Connection to the thread
 if transaction synchronization is active (e.g. if in a JTA transaction).
 
Directly accessed by TransactionAwareConnectionFactoryProxy.
cf - the ConnectionFactory to obtain Connection fromResourceException - if thrown by CCI API methodsdoReleaseConnection(javax.resource.cci.Connection, javax.resource.cci.ConnectionFactory)public static boolean isConnectionTransactional(Connection con, ConnectionFactory cf)
con - the Connection to checkcf - the ConnectionFactory that the Connection was obtained from
 (may be null)public static void releaseConnection(Connection con, ConnectionFactory cf)
con - the Connection to close if necessary
 (if this is null, the call will be ignored)cf - the ConnectionFactory that the Connection was obtained from
 (can be null)getConnection(javax.resource.cci.ConnectionFactory)public static void doReleaseConnection(Connection con, ConnectionFactory cf) throws ResourceException
releaseConnection(javax.resource.cci.Connection, javax.resource.cci.ConnectionFactory), but throwing the original ResourceException.
 Directly accessed by TransactionAwareConnectionFactoryProxy.
con - the Connection to close if necessary
 (if this is null, the call will be ignored)cf - the ConnectionFactory that the Connection was obtained from
 (can be null)ResourceException - if thrown by JCA CCI methodsdoGetConnection(javax.resource.cci.ConnectionFactory)