我们有一个JBoss应用程序,通过C3PO管理数据库连接。最近,数据库节点(Oracle DB)已经关闭,自数据库重新启动以来,我们在数据库调用期间看到间歇性超时。理想情况下,在DB节点恢复之后应该建立新的连接,但看起来连接仍然是持久的并且已经空闲。
C3PO配置我认为可能是负责任的: 的 hibernate.c3p0.timeout = 300 hibernate.c3p0.idle_test_period = 1800
经过一些研究,我读到idle_test_period不应该高于c3p0.timeout。这是否有效,如果是,那么这些值如何确定何时连接空闲并且必须从池中删除?