Najnowszy sterownik Oracle jdbc (11.2.0.1.0) wyraźnie stwierdza, że pamięć podręczna Oracle Implicit Connection (czyli ta, która używa OracleDataSource) jest przestarzała:
Oracle JDBC Drivers wersja 11.2.0.1.0 wersja produkcyjna Readme.txt
Co nowego w tej wersji?
Pula połączeń uniwersalnychW tej wersji funkcja pamięci podręcznej połączeń niejawnych Oracle jest przestarzała. Użytkownicy są zdecydowanie zachęcani do korzystania z nowej puli UniversalConnection Pool. UCP posiada wszystkie funkcje ICC oraz wiele więcej. UCP jest dostępny w osobnym pliku jar,ucp.jar.
Więc myślę, że lepiej zacząć używać UCP, ale dokumentacja nie jest tak dobra. Na przykład nie znalazłem sposobu na użycie UCP ze sprężyną...
AKTUALIZACJA: Znalazłem poprawną konfigurację sprężyn:OK Myślę, że znalazłem właściwą konfigurację:
<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>
Kluczem do sukcesu jest określenie właściwej klasy i metody fabryki