继续这个Websphere hangs due to c3p0问题
我们的JSP应用程序本身是一个遗留代码(大约在5年前编写的),我们需要在接下来的3年中维护它。随着Oracle & WAS的更新,现有代码变得不稳定。由于成本因素,重写不是一种选择
当我们不得不迁移到Oracle11的时候,一个这样的problem出现了。在一些研究之后,我发现连接池将会有所帮助。正确的解决方法是对代码进行更改,但要考虑到成本问题。
在使用连接for一段时间后,我们发现在引入C3P0之后,WebSphere中的JSP应用程序比正常情况下更频繁地挂起。然而,引入c3P0解决了一个问题:Max cursors reached error in JSP + Hibernate
http://www.mchange.com/projects/c3p0/的前提条件是C3P0可以很好地与Java1.4和Java1.5协同工作
我们使用的是Java 1.6.x
有没有人成功地让c3P0与Java1.6协同工作?
我能做些什么来使c3P0与Java1.6协同工作吗?
我的C3P0设置
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="hibernate.c3p0.min_size">2</property>
<property name="hibernate.c3p0.max_size">40</property>
<property name="hibernate.c3p0.timeout">350</property>
<property name="hibernate.c3p0.idle_test_period">300</property>
<property name="hibernate.c3p0.max_statements">0</property>
<property name="hibernate.c3p0.acquire_increment">1</property>
<property name="hibernate.c3p0.unreturnedConnectionTimeout">60</property>
<property name="hibernate.c3p0.debugUnreturnedConnectionStackTraces">true</property>发布于 2013-10-12 13:53:07
一般来说,在java 1.6+中,c3p0工作得很好。
如果你还没有升级到c3p0 0.9.2.1或者最新的0.9.5预发行版,你可能会想要升级到1.6+(尽管之前的版本可以在want中工作)。
你需要找出你的应用程序挂起的原因。通常,在挂起期间,您应该转储线程并检查堆栈跟踪,以了解发生了什么。如果线程挂起等待来自c3p0的连接(即在awaitAvailable()方法中),则可能存在连接泄漏,并希望像在previous hang thread you reference中那样对其进行调试。
https://stackoverflow.com/questions/19313103
复制相似问题