Class CciDaoSupport
- java.lang.Object
- org.springframework.dao.support.DaoSupport
- org.springframework.jca.cci.core.support.CciDaoSupport
- All Implemented Interfaces:
InitializingBean
public abstract class CciDaoSupport extends DaoSupport
Convenient super class for CCI-based data access objects.Requires a
ConnectionFactory
to be set, providing aCciTemplate
based on it to subclasses through thegetCciTemplate()
method.This base class is mainly intended for CciTemplate usage but can also be used when working with a Connection directly or when using
org.springframework.jca.cci.object
classes.- Since:
- 1.2
- Author:
- Thierry Templier, Juergen Hoeller
- See Also:
setConnectionFactory(javax.resource.cci.ConnectionFactory)
,getCciTemplate()
,CciTemplate
Field Summary
Fields inherited from class org.springframework.dao.support.DaoSupport
logger
Constructor Summary
Constructors Constructor Description CciDaoSupport()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
checkDaoConfig()
Abstract subclasses must override this to check their configuration.protected CciTemplate
createCciTemplate(ConnectionFactory connectionFactory)
Create a CciTemplate for the given ConnectionFactory.CciTemplate
getCciTemplate()
Return the CciTemplate for this DAO, pre-initialized with the ConnectionFactory or set explicitly.protected CciTemplate
getCciTemplate(ConnectionSpec connectionSpec)
Obtain a CciTemplate derived from the main template instance, inheriting the ConnectionFactory and other settings but overriding the ConnectionSpec used for obtaining Connections.protected Connection
getConnection()
Get a CCI Connection, either from the current transaction or a new one.ConnectionFactory
getConnectionFactory()
Return the ConnectionFactory used by this DAO.protected void
releaseConnection(Connection con)
Close the given CCI Connection, created via this bean's ConnectionFactory, if it isn't bound to the thread.void
setCciTemplate(CciTemplate cciTemplate)
Set the CciTemplate for this DAO explicitly, as an alternative to specifying a ConnectionFactory.void
setConnectionFactory(ConnectionFactory connectionFactory)
Set the ConnectionFactory to be used by this DAO.Methods inherited from class org.springframework.dao.support.DaoSupport
afterPropertiesSet, initDao
Constructor Detail
CciDaoSupport
public CciDaoSupport()
Method Detail
setConnectionFactory
public final void setConnectionFactory(ConnectionFactory connectionFactory)
Set the ConnectionFactory to be used by this DAO.
createCciTemplate
protected CciTemplate createCciTemplate(ConnectionFactory connectionFactory)
Create a CciTemplate for the given ConnectionFactory. Only invoked if populating the DAO with a ConnectionFactory reference!Can be overridden in subclasses to provide a CciTemplate instance with different configuration, or a custom CciTemplate subclass.
- Parameters:
connectionFactory
- the CCI ConnectionFactory to create a CciTemplate for- Returns:
- the new CciTemplate instance
- See Also:
setConnectionFactory(javax.resource.cci.ConnectionFactory)
getConnectionFactory
public final ConnectionFactory getConnectionFactory()
Return the ConnectionFactory used by this DAO.
setCciTemplate
public final void setCciTemplate(CciTemplate cciTemplate)
Set the CciTemplate for this DAO explicitly, as an alternative to specifying a ConnectionFactory.
getCciTemplate
public final CciTemplate getCciTemplate()
Return the CciTemplate for this DAO, pre-initialized with the ConnectionFactory or set explicitly.
checkDaoConfig
protected final void checkDaoConfig()
Description copied from class:DaoSupport
Abstract subclasses must override this to check their configuration.Implementors should be marked as
final
if concrete subclasses are not supposed to override this template method themselves.- Specified by:
checkDaoConfig
in classDaoSupport
getCciTemplate
protected final CciTemplate getCciTemplate(ConnectionSpec connectionSpec)
Obtain a CciTemplate derived from the main template instance, inheriting the ConnectionFactory and other settings but overriding the ConnectionSpec used for obtaining Connections.- Parameters:
connectionSpec
- the CCI ConnectionSpec that the returned template instance is supposed to obtain Connections for- Returns:
- the derived template instance
- See Also:
CciTemplate.getDerivedTemplate(javax.resource.cci.ConnectionSpec)
getConnection
protected final Connection getConnection() throws CannotGetCciConnectionException
Get a CCI Connection, either from the current transaction or a new one.- Returns:
- the CCI Connection
- Throws:
CannotGetCciConnectionException
- if the attempt to get a Connection failed- See Also:
ConnectionFactoryUtils.getConnection(javax.resource.cci.ConnectionFactory)
releaseConnection
protected final void releaseConnection(Connection con)
Close the given CCI Connection, created via this bean's ConnectionFactory, if it isn't bound to the thread.- Parameters:
con
- Connection to close- See Also:
ConnectionFactoryUtils.releaseConnection(javax.resource.cci.Connection, javax.resource.cci.ConnectionFactory)