How do I access the specific driver Connection with JBoss ?
If you need to access to the specific driver connection (for example the OracleConnection instead of the java.sql.Connection) then you need to use the WrappedConnection object and get its underlying connection:
Connection c = dataSource.getConnection(); org.jboss.resource.adapter.jdbc.WrappedConnection wc = (WrappedConnection) c; OracleConnection ajc = (OracleConnection ) wc.getUnderlyingConnection();
Or another way, using reflection:
public static OracleConnection getOracleConnection(Connection conFromPool)
throws SQLException {
try {
Class[] parms = null;
Method method =
(conFromPool.getClass()).getMethod("getUnderlyingConnection",
parms);
return (OracleConnection) method.invoke(conFromPool, parms);
} catch (InvocationTargetException ite) {
throw new SQLException(ite.getMessage());
} catch (Exception e) {
throw new SQLException(e.getMessage());
}
}

