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();
Please note this class is available in the ironjacamar-jdbc-1.x.xx.Final.jar module which is included in WildFly / JBoss EAP distribution.
Another option is to call via reflection the getUnderlyingConnection method. Here’s an example for Oracle:
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()); } }