Class DelegatingDataSource
- java.lang.Object
- org.springframework.jdbc.datasource.DelegatingDataSource
- All Implemented Interfaces:
Wrapper,CommonDataSource,DataSource,InitializingBean
- Direct Known Subclasses:
LazyConnectionDataSourceProxy,TransactionAwareDataSourceProxy,UserCredentialsDataSourceAdapter
public class DelegatingDataSource extends Object implements DataSource, InitializingBean
JDBCDataSourceimplementation that delegates all calls to a given targetDataSource.This class is meant to be subclassed, with subclasses overriding only those methods (such as
getConnection()) that should not simply delegate to the target DataSource.- Since:
- 1.1
- Author:
- Juergen Hoeller
- See Also:
getConnection()
Constructor Summary
Constructors Constructor Description DelegatingDataSource()Create a new DelegatingDataSource.DelegatingDataSource(DataSource targetDataSource)Create a new DelegatingDataSource.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterPropertiesSet()Invoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.ConnectiongetConnection()ConnectiongetConnection(String username, String password)intgetLoginTimeout()PrintWritergetLogWriter()LoggergetParentLogger()DataSourcegetTargetDataSource()Return the target DataSource that this DataSource should delegate to.booleanisWrapperFor(Class<?> iface)voidsetLoginTimeout(int seconds)voidsetLogWriter(PrintWriter out)voidsetTargetDataSource(DataSource targetDataSource)Set the target DataSource that this DataSource should delegate to.<T> Tunwrap(Class<T> iface)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface javax.sql.CommonDataSource
createShardingKeyBuilder
Methods inherited from interface javax.sql.DataSource
createConnectionBuilder
Constructor Detail
DelegatingDataSource
public DelegatingDataSource()
Create a new DelegatingDataSource.
DelegatingDataSource
public DelegatingDataSource(DataSource targetDataSource)
Create a new DelegatingDataSource.- Parameters:
targetDataSource- the target DataSource
Method Detail
setTargetDataSource
public void setTargetDataSource(DataSource targetDataSource)
Set the target DataSource that this DataSource should delegate to.
getTargetDataSource
public DataSource getTargetDataSource()
Return the target DataSource that this DataSource should delegate to.
afterPropertiesSet
public void afterPropertiesSet()
Description copied from interface:InitializingBeanInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.
- Specified by:
afterPropertiesSetin interfaceInitializingBean
getConnection
public Connection getConnection() throws SQLException
- Specified by:
getConnectionin interfaceDataSource- Throws:
SQLException
getConnection
public Connection getConnection(String username, String password) throws SQLException
- Specified by:
getConnectionin interfaceDataSource- Throws:
SQLException
getLogWriter
public PrintWriter getLogWriter() throws SQLException
- Specified by:
getLogWriterin interfaceCommonDataSource- Specified by:
getLogWriterin interfaceDataSource- Throws:
SQLException
setLogWriter
public void setLogWriter(PrintWriter out) throws SQLException
- Specified by:
setLogWriterin interfaceCommonDataSource- Specified by:
setLogWriterin interfaceDataSource- Throws:
SQLException
getLoginTimeout
public int getLoginTimeout() throws SQLException
- Specified by:
getLoginTimeoutin interfaceCommonDataSource- Specified by:
getLoginTimeoutin interfaceDataSource- Throws:
SQLException
setLoginTimeout
public void setLoginTimeout(int seconds) throws SQLException
- Specified by:
setLoginTimeoutin interfaceCommonDataSource- Specified by:
setLoginTimeoutin interfaceDataSource- Throws:
SQLException
unwrap
public <T> T unwrap(Class<T> iface) throws SQLException
- Specified by:
unwrapin interfaceWrapper- Throws:
SQLException
isWrapperFor
public boolean isWrapperFor(Class<?> iface) throws SQLException
- Specified by:
isWrapperForin interfaceWrapper- Throws:
SQLException
getParentLogger
public Logger getParentLogger()
- Specified by:
getParentLoggerin interfaceCommonDataSource