【问题标题】:datasource configuration error for Spring 2.5.6 & ojdbc6Spring 2.5.6 和 ojdbc6 的数据源配置错误
【发布时间】: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 相关类

标签: java oracle spring jdbc


【解决方案1】:

可能的原因是您使用的 ODBC 版本比预期的要旧。请检查您的应用程序的 lib 文件夹,并检查 Tomcat 的 lib 文件夹。

【讨论】:

  • 非常感谢。我检查了 lib 文件夹,只有一个 jdbc 驱动程序文件。我正在使用 ojdbc6-11.2.0.3。这个版本挺新的……
  • 你是对的!还有另一个 jar 包含 oracle 驱动程序类。它来自其他供应商的移动短信发送...
猜你喜欢
  • 1970-01-01
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 2017-11-13
  • 2011-05-10
  • 2016-01-17
  • 2015-01-26
相关资源
最近更新 更多