public class JBossNativeJdbcExtractor extends NativeJdbcExtractorAdapter
NativeJdbcExtractor
interface for JBoss,
supporting JBoss Application Server 3.2.4+. As of Spring 3.1.1, it also
supports JBoss 7.
Returns the underlying native Connection, Statement, etc to
application code instead of JBoss' 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 JBoss connection pool: If a given object is not a JBoss wrapper, it will be returned as-is.
WrappedConnection
,
WrappedStatement
,
WrappedResultSet
Constructor and Description |
---|
JBossNativeJdbcExtractor()
This constructor retrieves JBoss JDBC wrapper classes,
so we can get the underlying vendor connection using reflection.
|
Modifier and Type | Method and Description |
---|---|
protected java.sql.Connection |
doGetNativeConnection(java.sql.Connection con)
Retrieve the Connection via JBoss'
getUnderlyingConnection method. |
java.sql.CallableStatement |
getNativeCallableStatement(java.sql.CallableStatement cs)
Retrieve the Connection via JBoss'
getUnderlyingStatement method. |
java.sql.PreparedStatement |
getNativePreparedStatement(java.sql.PreparedStatement ps)
Retrieve the Connection via JBoss'
getUnderlyingStatement method. |
java.sql.ResultSet |
getNativeResultSet(java.sql.ResultSet rs)
Retrieve the Connection via JBoss'
getUnderlyingResultSet method. |
java.sql.Statement |
getNativeStatement(java.sql.Statement stmt)
Retrieve the Connection via JBoss'
getUnderlyingStatement method. |
getNativeConnection, getNativeConnectionFromStatement, isNativeConnectionNecessaryForNativeCallableStatements, isNativeConnectionNecessaryForNativePreparedStatements, isNativeConnectionNecessaryForNativeStatements
public JBossNativeJdbcExtractor()
protected java.sql.Connection doGetNativeConnection(java.sql.Connection con) throws java.sql.SQLException
getUnderlyingConnection
method.doGetNativeConnection
in class NativeJdbcExtractorAdapter
java.sql.SQLException
public java.sql.Statement getNativeStatement(java.sql.Statement stmt) throws java.sql.SQLException
getUnderlyingStatement
method.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
getUnderlyingStatement
method.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
getUnderlyingStatement
method.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
getUnderlyingResultSet
method.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