我在 JSF 2.0 应用程序中使用带有 c3p0 0.9.2.1 的休眠 4.2.4。一切正常,但如果 5 个用户同时在应用程序内执行某些操作,它会在几分钟后冻结。同一容器内的其他应用程序(portlet)仍然可以访问,CPU 和 RAM 使用率正常。
也许c3p0连接池的所有连接都在使用中,使用后没有释放?!但是,如果这是问题所在,我该如何检查?
stackoverflow.com 上的一些线程告诉使用unreturnedConnectionTimeout
and 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>