我們正在加載運行spring/hibernate/c3p0應用程序。當我將c3p0 maxPoolSize減少到遠遠低於併發用戶數時,我們的應用程序就會掛起。日誌中沒有錯誤消息,但它也不會繼續前進。休眠/ c3p0連接泄漏
我希望應用程序放慢速度,但不要完全停止。
這裏是我們的C3P0配置:
<bean id="coreDataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close"
p:driverClass="${core.jdbc.driver}"
p:jdbcUrl="${core.jdbc.url}"
p:user="${core.jdbc.user}"
p:acquireIncrement="5"
p:acquireRetryAttempts="10"
p:acquireRetryDelay="5000"
p:initialPoolSize="52"
p:maxIdleTime="3600"
p:maxIdleTimeExcessConnections="300"
p:minPoolSize="52"
p:maxPoolSize="125"
p:numHelperThreads="6"
p:unreturnedConnectionTimeout="0">
<property name="password">
<bean class="com.docfinity.util.encryption.SpringStringDecrypter"
p:decryptFlag="${core.jdbc.decryptPasswordFlag}"
p:encryptedString="${core.jdbc.password}" />
</property>
</bean>
這將鎖住了,如果我在它拋出一個160級的用戶。
我試着將unreturnedConnectionTimeout設置爲正值(120秒),並查看了我們應用程序中顯示的堆棧跟蹤。堆棧跟蹤來自我們應用程序中的各種不同方法。這不像我們可以指出的一種方法,並說它正在泄漏連接。
任何幫助調試這個問題將不勝感激。