2012-11-14 59 views
1

我想在Spring 2.5.6中配置數據源。 我的數據庫是oracle 11g,jdbc驅動程序是ojdbc6。 以下是我的配置:datasource配置錯誤爲春季2.5.6&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'不可寫或具有無效設置器 方法。設置器的參數類型是否與返回類型 的獲取器匹配?

這真的讓我很不高興。我查了OracleDataSource這個課,當然這個setConnectionCachingEnabled的方法存在。

有沒有人知道如何解決這個問題?

+1

你的WEB-INF/lib目錄中有多個版本的ojdbc jar嗎?或者在tomcat的服務器庫等中,?我懷疑如果類加載器正在挑選帶有沒有此屬性的OracleDataSource類的舊版jar。 – Vikdor

+0

非常感謝。我在tomcat中檢查了lib文件夾。那裏只有ojdbc6-11.2.0.3.jar – WilliamS

+0

嗨維克多,你是對的。另一個來自供應商的jar包含oracle jdbc相關類 – WilliamS

回答

2

可能的原因是您使用的ODBC版本比預期版本舊。請檢查您的應用程序的lib文件夾,並檢查Tomcat的lib文件夾。

+0

非常感謝。我檢查了lib文件夾,並且只有一個jdbc驅動程序文件。我正在使用ojdbc6-11.2.0.3。這個版本是相當新的... – WilliamS

+1

你是對的!還有另一個jar包含oracle驅動程序類。它來自其他供應商的手機短信發送... – WilliamS