我们在JBOSS上使用Oracle运行java应用程序。我们也在使用框架seam和hibernate。
当我们的应用程序启动并运行生产时,在应用程序启动几个小时后,我们遇到了这样的问题:
crms_log_27_may.txt:10:47:09,170 ERROR [STDERR] java.sql.SQLException: Exhausted Resultset
crms_log_27_may.txt:10:47:09,170 ERROR [STDERR] java.sql.SQLException: Exhausted Resultset
crms_log_27_may.txt:10:47:09,170 ERROR [STDERR] java.sql.SQLException: Exhausted Resultset
crms_log_27_may.txt:10:22:18,135 ERROR [STDERR] Caused by: java.sql.SQLException: Closed Connection
crms_log_27_may.txt:10:24:10,231 ERROR [STDERR] Caused by: java.sql.SQLException: Closed Connection
我检查了所有代码,发现我使用了rs.next()
并正确关闭了对象。
答案 0 :(得分:0)
如果在某个地方存在连接池,连接可能会在一段时间不活动后失效,并且您需要重新配置连接池以检测此情况,这样您才能获得良好的连接。
这通常是通过一个简单的查询来完成的,不会改变任何东西,例如“从双选择1”,如果它正确响应连接是好的,你得到它。如果没有,它将被丢弃并为您创建一个新的。