一尘不染

Oracle-Spring框架的连接池

java

我们正在尝试借助Spring Framework实现Oracle连接池。我们正在使用DBCP连接池方法。但是,DBCP和spring之间的集成并不是很好。

我们面临的问题是,DBCP返回PoolableConnections对象,而Oracle期望使用OracleConnection对象。(引发ClassCastException)

看来此问题已在Oracle 11g中解决。但是,我对其他人如何使用针对Oracle
10g的spring框架(使用TOMCAT)实现Oracle连接池感到好奇。

我们使用Ibatis作为ORM框架。

我敢肯定有办法。任何帮助表示赞赏。


阅读 231

收藏
2020-12-03

共1个答案

一尘不染

我将使用Oracle提供的解决方案,该解决方案包含在其ojdbc jar中。较旧的方法是使用
OracleConnectionPoolDataSource 类,但是现在您可以在常规 OracleDataSource
上设置参数并获得连接池。

在Spring中执行以下操作:

<bean id="datasource" class="oracle.jdbc.pool.OracleDataSource" destroy-method="close">
   <property name="connectionCachingEnabled" value="true" />
   <property name="URL" value="${jdbc.url}" />
   ...all your connection properties
   <property name="connectionCacheProperties">
      <props merge="default">
         <prop key="MinLimit>3</prop>
         <prop key="MaxLimit">20</prop>
      </props>
   </property>
</bean>
2020-12-03