Oracle
 sql >> Datenbank >  >> RDS >> Oracle

OracleDataSource im Vergleich zu Oracle UCP PoolDataSource

Der neueste Oracle jdbc-Treiber (11.2.0.1.0) gibt explizit an, dass der Oracle Implicit Connection-Cache (der OracleDataSource verwendet) veraltet ist:

Oracle JDBC Drivers release 11.2.0.1.0 production Readme.txt

Was ist neu in dieser Version?

Universal Connection PoolIn dieser Version ist die Oracle Implicit Connection Cache-Funktion veraltet. Benutzern wird dringend empfohlen, stattdessen den neuen UniversalConnection-Pool zu verwenden. Das UCP hat alle Funktionen des ICC und noch viel mehr. Das UCP ist in einer separaten JAR-Datei, ucp.jar, verfügbar.

Daher denke ich, dass es besser ist, UCP zu verwenden, aber die Dokumentation ist nicht so gut. Zum Beispiel habe ich keinen Weg gefunden, UCP mit Spring zu verwenden ...

AKTUALISIERUNG: Ich habe die richtige Federkonfiguration gefunden:OK Ich glaube, ich habe die richtige Konfiguration gefunden:

<bean id="dataSource" class="oracle.ucp.jdbc.PoolDataSourceFactory" factory-method="getPoolDataSource">
    <property name="URL" value="jdbc:oracle:thin:@myserver:1521:mysid" />
    <property name="user" value="myuser" />
    <property name="password" value="mypassword" />
    <property name="connectionFactoryClassName" value="oracle.jdbc.pool.OracleDataSource" />
    <property name="connectionPoolName" value="ANAG_POOL" />
    <property name="minPoolSize" value="5" />
    <property name="maxPoolSize" value="10" />
    <property name="initialPoolSize" value="5" />
    <property name="inactiveConnectionTimeout" value="120" />
    <property name="validateConnectionOnBorrow" value="true" />
    <property name="maxStatements" value="10" />
</bean>

Der Schlüssel liegt darin, die richtige Factory-Klasse und die richtige Factory-Methode anzugeben