public class CommonsDbcpNativeJdbcExtractor extends NativeJdbcExtractorAdapter
NativeJdbcExtractor
interface for the
Jakarta Commons DBCP connection pool, version 1.1 or higher.
Returns the underlying native Connection, Statement, etc to application
code instead of DBCP's wrapper implementations. The returned JDBC classes
can then safely be cast, e.g. to oracle.jdbc.OracleConnection
.
This NativeJdbcExtractor can be set just to allow working with a Commons DBCP DataSource: If a given object is not a Commons DBCP wrapper, it will be returned as-is.
Note that this version of CommonsDbcpNativeJdbcExtractor will work
against the original Commons DBCP in org.apache.commons.dbcp
as well as against Tomcat 5.5's relocated Commons DBCP version in the
org.apache.tomcat.dbcp.dbcp
package.
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
GET_INNERMOST_DELEGATE_METHOD_NAME |
Constructor and Description |
---|
CommonsDbcpNativeJdbcExtractor() |
Modifier and Type | Method and Description |
---|---|
protected java.sql.Connection |
doGetNativeConnection(java.sql.Connection con)
Not able to unwrap: return passed-in Connection.
|
private static java.lang.Object |
getInnermostDelegate(java.lang.Object obj)
Extracts the innermost delegate from the given Commons DBCP object.
|
java.sql.CallableStatement |
getNativeCallableStatement(java.sql.CallableStatement cs)
Not able to unwrap: return passed-in CallableStatement.
|
java.sql.PreparedStatement |
getNativePreparedStatement(java.sql.PreparedStatement ps)
Not able to unwrap: return passed-in PreparedStatement.
|
java.sql.ResultSet |
getNativeResultSet(java.sql.ResultSet rs)
Not able to unwrap: return passed-in ResultSet.
|
java.sql.Statement |
getNativeStatement(java.sql.Statement stmt)
Not able to unwrap: return passed-in Statement.
|
getNativeConnection, getNativeConnectionFromStatement, isNativeConnectionNecessaryForNativeCallableStatements, isNativeConnectionNecessaryForNativePreparedStatements, isNativeConnectionNecessaryForNativeStatements
private static final java.lang.String GET_INNERMOST_DELEGATE_METHOD_NAME
private static java.lang.Object getInnermostDelegate(java.lang.Object obj) throws java.sql.SQLException
obj
- the Commons DBCP Connection/Statement/ResultSetjava.sql.SQLException
protected java.sql.Connection doGetNativeConnection(java.sql.Connection con) throws java.sql.SQLException
NativeJdbcExtractorAdapter
doGetNativeConnection
in class NativeJdbcExtractorAdapter
java.sql.SQLException
public java.sql.Statement getNativeStatement(java.sql.Statement stmt) throws java.sql.SQLException
NativeJdbcExtractorAdapter
getNativeStatement
in interface NativeJdbcExtractor
getNativeStatement
in class NativeJdbcExtractorAdapter
stmt
- the Statement handle, potentially wrapped by a connection pooljava.sql.SQLException
- if thrown by JDBC methodspublic java.sql.PreparedStatement getNativePreparedStatement(java.sql.PreparedStatement ps) throws java.sql.SQLException
NativeJdbcExtractorAdapter
getNativePreparedStatement
in interface NativeJdbcExtractor
getNativePreparedStatement
in class NativeJdbcExtractorAdapter
ps
- the PreparedStatement handle, potentially wrapped by a connection pooljava.sql.SQLException
- if thrown by JDBC methodspublic java.sql.CallableStatement getNativeCallableStatement(java.sql.CallableStatement cs) throws java.sql.SQLException
NativeJdbcExtractorAdapter
getNativeCallableStatement
in interface NativeJdbcExtractor
getNativeCallableStatement
in class NativeJdbcExtractorAdapter
cs
- the CallableStatement handle, potentially wrapped by a connection pooljava.sql.SQLException
- if thrown by JDBC methodspublic java.sql.ResultSet getNativeResultSet(java.sql.ResultSet rs) throws java.sql.SQLException
NativeJdbcExtractorAdapter
getNativeResultSet
in interface NativeJdbcExtractor
getNativeResultSet
in class NativeJdbcExtractorAdapter
rs
- the ResultSet handle, potentially wrapped by a connection pooljava.sql.SQLException
- if thrown by JDBC methods