Home JBoss howto Persistence - Database How do I access the specific driver Connection with JBoss ?
30 | 07 | 2010
JBoss 5 AS Book
"JBoss AS 5 development" reviews
Please share your feedback/review with other readers!
Banner
Dashboard
Advertise with Us
Banner
RSS Feed
Java EE 1.6 resources
Login
Sign here for the NewsLetter.



JBoss admin resources
Banner
Java EE 1.6 resources
JBoss howto

How to avoid the 50 seconds start up limit in Eclipse ?

JBoss recipe of the day ...
Read More

How can you solve deployment errors caused by large war/jar/ear files ?

jboss recipe of the day ...
Read More

How do you configure your .war to be deployed after your EJB ?

jboss recipe of the day ...
Read More
How do I access the specific driver Connection with JBoss ?
Written by Mark S.   
JBoss recipe of the day
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());
  }
}

JBoss.org Search
Custom Search
Comments
Search
Only registered users can write comments!

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."