Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

OracleDataSource vs. Oracle UCP PoolDataSource


O último driver jdbc do Oracle (11.2.0.1.0) explícito afirma que o cache de conexão implícita do Oracle (que é aquele que usa OracleDataSource) está obsoleto:

Drivers JDBC Oracle versão 11.2.0.1.0 de produção Readme.txt

O que há de novo nesta versão?


Universal Connection PoolNesta versão, o recurso Oracle Implicit Connection Cache foi preterido. Os usuários são fortemente encorajados a usar o novo UniversalConnection Pool. O UCP tem todas as características do ICC e muito mais. O UCP está disponível em um arquivo jar separado, ucp.jar.

Então acho melhor começar a usar UCP, mas a documentação não é tão boa assim. Por exemplo, não encontrei uma maneira de usar UCP com spring...

ATUALIZAÇÃO: Encontrei a configuração correta da mola:OK, acho que encontrei a configuração correta:
<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>

A chave é especificar a classe de fábrica certa e o método de fábrica certo