【问题标题】:An SQLException was provoked, java.lang.InterruptedException, am I running out of db connections?引发了 SQLException,java.lang.InterruptedException,我的数据库连接用完了吗?
【发布时间】:2012-07-23 01:17:44
【问题描述】:

所以我们运行一个 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 流,网站流量略有增加,但我们以前从未见过这种行为。

【问题讨论】:

    标签: java database spring spring-webflow


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      • 2014-07-29
      • 1970-01-01
      • 1970-01-01
      • 2019-09-02
      • 2021-04-27
      • 2022-10-16
      相关资源
      最近更新 更多