Den seneste Oracle jdbc-driver (11.2.0.1.0) angiver eksplicit, at Oracle Implicit Connection-cache (som er den, der bruger OracleDataSource), den er forældet :
Oracle JDBC Drivers release 11.2.0.1.0 production Readme.txt
Hvad er nyt i denne udgivelse?
Universal Connection PoolI denne udgivelse er Oracle Implicit Connection Cache-funktionen forældet. Brugere opfordres kraftigt til at bruge den nye UniversalConnection Pool i stedet. UCP har alle funktionerne i ICC, plus meget mere. UCP'en er tilgængelig i en separat jar-fil, ucp.jar.
Så jeg synes, det er bedre at begynde at bruge UCP, men dokumentationen er ikke så god. For eksempel fandt jeg ikke en måde at bruge UCP med fjeder...
OPDATERING: Jeg har fundet den korrekte fjederkonfiguration:OK, jeg tror, jeg har fundet den rigtige 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>
Nøglen er at specificere den rigtige fabriksklasse og den rigtige fabriksmetode