我在JSF 2.0應用程序中使用hibernate 4.2.4和c3p0 0.9.2.1。一切正常,但如果5個用戶立即在應用程序內部執行一些操作,它會在幾分鐘後凍結。同一容器內的其他應用程序(portlet)仍然可以訪問,CPU和RAM的使用情況正常。有幾個動作後,休眠和c3p0的JSF應用程序會凍結
也許c3p0連接池的所有連接都在使用中,並且在使用後不會被釋放?!但是,如果這是問題,我該如何檢查?
某些線程在stackoverflow.com上告訴使用unreturnedConnectionTimeout
和debugUnreturnedConnectionStackTraces
。我是否必須將它像下面一樣放入我的hibernate.cfg.xml中?
<property name="com.mchange.v2.c3p0.unreturnedConnectionTimeout">5</property>
<property name="com.mchange.v2.c3p0.debugUnreturnedConnectionStackTraces">true</property>
我的hibernate.cfg.xml是:
<property name="current_session_context_class">thread</property>
<property name="hibernate.c3p0.min_size">1</property>
<property name="hibernate.c3p0.max_size">2</property>
<property name="hibernate.c3p0.timeout">300</property>
<property name="hibernate.c3p0.max_statements">0</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
「2」的max_size用於測試目的。通常我的應用程序運行20次。我不知道這是否是推薦的數字。我必須使用max_size嗎? – joverflow
如何在初始化時啓用conifg dump?在tomcat啓動時,控制檯上的c3p0沒有輸出。 – joverflow
在我的log4j應用程序日誌中發現了一些c3p0條目。所以你的建議工作! – joverflow