Advertise with us

Our eBooks

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());
  }
}

© 2021 mastertheboss.com. All Rights Reserved.

Please publish modules in offcanvas position.