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

OracleDataSource e Oracle UCP PoolDataSource

L'ultimo driver Oracle jdbc (11.2.0.1.0) esplicito afferma che la cache di Oracle Implicit Connection (che è quella che utilizza OracleDataSource) è deprecata:

Produzione dei driver Oracle JDBC versione 11.2.0.1.0 Readme.txt

Cosa c'è di nuovo in questa versione?

Universal Connection PoolIn questa versione la funzionalità Oracle Implicit Connection Cache è obsoleta. Gli utenti sono caldamente incoraggiati a utilizzare invece il nuovo UniversalConnection Pool. L'UCP ha tutte le caratteristiche dell'ICC e molto altro ancora. L'UCP è disponibile in un file jar separato, ucp.jar.

Quindi penso che sia meglio iniziare a usare UCP, ma la documentazione non è così buona. Ad esempio non ho trovato un modo per usare UCP con spring...

AGGIORNAMENTO: Ho trovato la corretta configurazione della molla:OK penso di aver trovato la giusta configurazione:

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

La chiave è specificare la classe factory corretta e il metodo factory corretto