org.springframework.jdbc.datasource
Interface SmartDataSource
- All Superinterfaces:
- javax.sql.CommonDataSource, javax.sql.DataSource, java.sql.Wrapper
- All Known Implementing Classes:
- SingleConnectionDataSource
public interface SmartDataSource
- extends javax.sql.DataSource
Extension of the javax.sql.DataSource
interface, to be
implemented by special DataSources that return JDBC Connections
in an unwrapped fashion.
Classes using this interface can query whether or not the Connection
should be closed after an operation. Spring's DataSourceUtils and
JdbcTemplate classes automatically perform such a check.
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
SingleConnectionDataSource.shouldClose(java.sql.Connection)
,
DataSourceUtils.releaseConnection(java.sql.Connection, javax.sql.DataSource)
,
JdbcTemplate
Method Summary |
boolean |
shouldClose(java.sql.Connection con)
Should we close this Connection, obtained from this DataSource? |
Methods inherited from interface javax.sql.DataSource |
getConnection, getConnection |
Methods inherited from interface javax.sql.CommonDataSource |
getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter |
Methods inherited from interface java.sql.Wrapper |
isWrapperFor, unwrap |
shouldClose
boolean shouldClose(java.sql.Connection con)
- Should we close this Connection, obtained from this DataSource?
Code that uses Connections from a SmartDataSource should always
perform a check via this method before invoking close()
.
Note that the JdbcTemplate class in the 'jdbc.core' package takes care of
releasing JDBC Connections, freeing application code of this responsibility.
- Parameters:
con
- the Connection to check
- Returns:
- whether the given Connection should be closed
- See Also:
Connection.close()