【发布时间】:2012-11-14 13:49:15
【问题描述】:
我正在尝试在 Spring 2.5.6 中配置数据源。 我的数据库是oracle 11g,jdbc驱动是ojdbc6。 以下是我的配置:
<bean id="databaseConnectionPool" class="oracle.jdbc.pool.OracleDataSource" destroy-method="close">
<property name="connectionCachingEnabled" value="true"/>
<property name="URL"><value>${jdbc.dburl}</value></property>
<property name="connectionCacheName" value="PSSMST"/>
<property name="user"><value>${jdbc.dbusername}</value></property>
<property name="password"><value>${jdbc.dbpassword}</value></property>
<property name="maxStatements" value="75"/>
<property name="connectionCacheProperties">
<props merge="default">
<prop key="MinLimit">20</prop>
<prop key="MaxLimit">150</prop>
<prop key="InitialLimit">20</prop>
</props>
</property>
</bean>
但是当 Tomcat 服务器启动时,我收到以下消息:
bean 类的无效属性“connectionCachingEnabled” [oracle.jdbc.pool.OracleDataSource]:Bean 属性 “connectionCachingEnabled”不可写或设置器无效 方法。 setter的参数类型是否与返回类型匹配 吸气剂?
这真的让我很沮丧。我查了OracleDataSource类,当然setConnectionCachingEnabled方法是存在的。
有人知道怎么解决吗?
【问题讨论】:
-
您的 WEB-INF/lib 目录中是否有多个版本的 ojdbc jar?或在tomcat的服务器库等中,?我怀疑类加载器是否正在选择具有 OracleDataSource 类但没有此属性的旧版本 jar。
-
非常感谢。我检查了tomcat中的lib文件夹。只有ojdbc6-11.2.0.3.jar
-
嗨,维克多,你是对的。来自供应商的另一个 jar 包含 oracle jdbc 相关类