Oracle
 sql >> Database >  >> RDS >> Oracle

come trasmettere la connessione dbcp alla connessione Oracle?

Dovresti essere in grado di eseguire il cast alla classe di connessione specifica DBCP e da lì recuperare la connessione Oracle interna:

import org.apache.commons.dbcp.DelegatingConnection;

DelegatingConnection dc = (DelegatingConnection)conn;
OracleConnection oc = (OracleConnection)pc.getInnermostDelegate();

Se stai utilizzando la copia integrata di DBCP di Tomcat, l'importazione di cui avrai bisogno è:

import org.apache.tomcat.dbcp.dbcp.DelegatingConnection;

Oppure puoi utilizzare il pool di connessioni integrato nell'implementazione del driver Oracle JDBC. Ciò restituisce una connessione Oracle. Una semplice configurazione sarebbe:

<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"
          />