Sie sollten einfach in der Lage sein, in die DBCP-spezifische Verbindungsklasse umzuwandeln und von dort die innere Oracle-Verbindung abzurufen:
import org.apache.commons.dbcp.DelegatingConnection;
DelegatingConnection dc = (DelegatingConnection)conn;
OracleConnection oc = (OracleConnection)pc.getInnermostDelegate();
Wenn Sie Tomcats integrierte Kopie von DBCP verwenden, benötigen Sie folgenden Import:
import org.apache.tomcat.dbcp.dbcp.DelegatingConnection;
Oder Sie können das in die Oracle JDBC-Treiberimplementierung integrierte Verbindungspooling verwenden. Dies gibt eine Oracle-Verbindung zurück. Eine einfache Einrichtung wäre:
<Resource auth="Container"
connectionCacheName="CXCACHE"
connectionCacheProperties="{MaxStatementsLimit=5,MinLimit=1, MaxLimit=1, ValidateConnection=true}"
connectionCachingEnabled="true"
description="Oracle Datasource"
factory="oracle.jdbc.pool.OracleDataSourceFactory"
name="jdbc/TestDB"
user="default_user"
password="password"
type="oracle.jdbc.pool.OracleDataSource"
url="jdbc:oracle:thin:@//localhost:1521/orcl"
/>