2012-02-01 98 views
1

我目前使用BoneCP作爲連接池管理器,因爲沒有真正的替代方案(c3p0已死)。我使用hibernate 4和spring 3.1,一切正常。唯一讓我困擾的是自定義驅動程序的註冊,如oracle.jdbc.driver.OracleDriverBoneCp找不到合適的驅動程序Spring 3.1 Hibernate 4.0

當應用程序被啓動和一些信息加載形式I得到以下信息數據庫:

java.sql.SQLException中:預言:找到JDBC沒有合適的驅動器薄:@localhost:XXX :然後

<bean id="mainDataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy method="close"> 
    <property name="driverClass" ref="hibernate.connection.driver_class" /> 
    <property name="jdbcUrl" ref="hibernate.connection.url" /> 
    <property name="username" ref="hibernate.connection.username" /> 
    <property name="password" ref="hibernate.connection.password" /> 
    <property name="poolName" ref="hibernate.connection.username"/> 
... 
</bean> 

這個數據源被注入到一個會話:XXXX如下

數據源被登記。

當在eclipse中的jetty容器中運行此應用程序時,它完美地工作。在Tomcat 6.x或Websphere 8.x上部署時,無法找到指定的驅動程序。

我已經試過這個驅動程序添加到春季datasourcemanager:

<bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName" ref="hibernate.connection.driver_class"/> 
    <property name="url" ref="hibernate.connection.url"/> 
    <property name="username" ref="hibernate.connection.username"/> 
    <property name="password" ref="hibernate.connection.password"/> 
</bean> 

這種「固定」我的問題,但現在我從數據庫中裝載數據時,連接關閉異常。 (在啓動時)。我可以使用我的應用程序,但有時候這個連接關閉錯誤再次發生在隨機時刻。

我看到BoneCP團隊確認第一個問題爲BoneCP bug,但尚未提交。我試圖從此錯誤跟蹤器網站實施建議的解決方案,但我再次收到連接關閉錯誤。

有什麼建議嗎?

回答

0

在我的情況下,有兩個連接配置 - 一個在hibernate.cfg.xml中,另一個在春天。 Hibernate 4.0現在正在加載連接配置,如果它可以從hibernate.cfg.xml中得到,儘管彈簧連接配置bean存在。

所以只需從spring或hibernate.cfg.xml中刪除第二個連接配置

相關問題