Den senaste Oracle jdbc-drivrutinen (11.2.0.1.0) anger uttryckligen att Oracle Implicit Connection-cache (som är den som använder OracleDataSource) är utfasad :
Oracle JDBC Drivers release 11.2.0.1.0 produktion Readme.txt
Vad är nytt i den här versionen?
Universal Connection PoolI den här versionen är Oracles implicita anslutningscache-funktion föråldrad. Användare uppmuntras starkt att använda den nya UniversalConnection Pool istället. UCP har alla funktioner i ICC, plus mycket mer. UCP:n är tillgänglig i en separat jar-fil, ucp.jar.
Så jag tror att det är bättre att börja använda UCP, men dokumentationen är inte så bra. Jag hittade till exempel inget sätt att använda UCP med fjäder...
UPPDATERING: Jag har hittat rätt fjäderkonfiguration:OK, jag tror att jag har hittat rätt konfiguration:
<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>
Nyckeln är att ange rätt fabriksklass och rätt fabriksmetod