引发了一个SQLException,java.lang.InterruptedException,我是否用完了数据库连接?

时间:2012-07-24 16:54:08

标签: java database spring spring-webflow

所以我们运行一个Hibernate,Spring,Spring Webflow堆栈。从我到目前为止所读到的内容来看,知道我们使用c3p0-0.9.1.2也很重要。

在过去的几天里,我们注意到服务器突然停止了。用户无法登录网站,似乎没有任何事情发生,浏览器只是永远地加载页面。服务器日志也只是暂停。

当我们注意到这一点时,我们关闭了tomcat实例,突然之间记录了以下几个错误;

13:05:57.492 [TP-Processor7]   WARN  o.h.util.JDBCExceptionReporter - SQL Error: 0, SQLState: null
13:05:57.492 [TP-Processor7]   ERROR o.h.util.JDBCExceptionReporter - An SQLException was provoked by the following failure: java.lang.InterruptedException

任何想法是什么意思?谷歌并没有太大的帮助。我们是否在某处泄漏数据库连接,并且池无法获得新会话?

我们刚刚添加了一些新的Spring Webflow流程,并且网站流量略有增加,但我们之前没有看到过这种行为。

1 个答案:

答案 0 :(得分:1)

我怀疑那些InterruptExceptions来自容器对这些线程的实际关闭,并且只是在Tomcat关闭时指示这些线程是否存在。

相反,当它下次冻结时,我会从Tomcat中获取thread dump。我还会得到一位DBA来告诉你数据库中发生了什么。从上面我猜你是挂在数据库资源上,但DBA的线程转储和分析肯定会指出你正确的方向。

这是一个Thread Dump JSP作为生成线程转储的替代方法。