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
JDBCDataSource
implementation 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 void
afterPropertiesSet()
Invoked by the containingBeanFactory
after it has set all bean properties and satisfiedBeanFactoryAware
,ApplicationContextAware
etc.Connection
getConnection()
Connection
getConnection(String username, String password)
int
getLoginTimeout()
PrintWriter
getLogWriter()
Logger
getParentLogger()
DataSource
getTargetDataSource()
Return the target DataSource that this DataSource should delegate to.boolean
isWrapperFor(Class<?> iface)
void
setLoginTimeout(int seconds)
void
setLogWriter(PrintWriter out)
void
setTargetDataSource(DataSource targetDataSource)
Set the target DataSource that this DataSource should delegate to.<T> T
unwrap(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:InitializingBean
Invoked by the containingBeanFactory
after it has set all bean properties and satisfiedBeanFactoryAware
,ApplicationContextAware
etc.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:
afterPropertiesSet
in interfaceInitializingBean
getConnection
public Connection getConnection() throws SQLException
- Specified by:
getConnection
in interfaceDataSource
- Throws:
SQLException
getConnection
public Connection getConnection(String username, String password) throws SQLException
- Specified by:
getConnection
in interfaceDataSource
- Throws:
SQLException
getLogWriter
public PrintWriter getLogWriter() throws SQLException
- Specified by:
getLogWriter
in interfaceCommonDataSource
- Specified by:
getLogWriter
in interfaceDataSource
- Throws:
SQLException
setLogWriter
public void setLogWriter(PrintWriter out) throws SQLException
- Specified by:
setLogWriter
in interfaceCommonDataSource
- Specified by:
setLogWriter
in interfaceDataSource
- Throws:
SQLException
getLoginTimeout
public int getLoginTimeout() throws SQLException
- Specified by:
getLoginTimeout
in interfaceCommonDataSource
- Specified by:
getLoginTimeout
in interfaceDataSource
- Throws:
SQLException
setLoginTimeout
public void setLoginTimeout(int seconds) throws SQLException
- Specified by:
setLoginTimeout
in interfaceCommonDataSource
- Specified by:
setLoginTimeout
in interfaceDataSource
- Throws:
SQLException
unwrap
public <T> T unwrap(Class<T> iface) throws SQLException
- Specified by:
unwrap
in interfaceWrapper
- Throws:
SQLException
isWrapperFor
public boolean isWrapperFor(Class<?> iface) throws SQLException
- Specified by:
isWrapperFor
in interfaceWrapper
- Throws:
SQLException
getParentLogger
public Logger getParentLogger()
- Specified by:
getParentLogger
in interfaceCommonDataSource