【发布时间】:2011-07-16 16:07:30
【问题描述】:
我只有一个几分钟后挂起的 Web 应用程序。基本上,这是一个用于构建和预览表单的应用程序,非常定制化,经过几分钟的密集用户交互后,该应用程序就停止了工作。这意味着,请求已完成并且永远不会返回回复。
我“有点”迷失了方向,因为我也没有找到任何关于 tomcat 日志和应用程序日志中挂起的线索。应用服务器正在运行,因为我正在使用 lambda/psi-probe,并且可以毫无问题地检查任何其他甚至是麻烦的应用程序(探针本身是另一个 Web 应用程序)。
该应用程序使用了休眠,它在很长一段时间内都可以正常工作,最近,为了提高性能(如果你只使用它,休眠会注入很多查询)我已经通过 java.sql 标准 api 引入了本机 sql。我小心不要将两者混合使用,它们仅在 jsp 中使用,首先使用 hibernate 检索一些(少数)对象,然后使用 jdbc 使用一些逻辑。在使用 jdbc 之前关闭 Hibernate 会话。
我已经阅读了一些关于数据库连接问题(我已经检查了几次并且数据库服务器运行正常)、死锁或失控线程的内容,在 VisualVM 中使用 VisualVM 进行了检查。
那么,任何人都可以提供有关查找或捕获挂起的线索吗?可以提供一些线索来使用 VisualVM 捕获或捕获假设的失控线程或死锁吗?后者会启发我,因为我只看到等待和运行的线程。
我在 mac osx 和 linux(开发和预生产机器)上使用 tomcat 6.0.21(我总是尝试 7.0.11,结果相同)java 1.6
肯定欢迎任何想法 谢谢
w 我来了
【问题讨论】:
标签: hibernate web-applications tomcat freeze visualvm