我们有一个在 WebSphere 上运行的应用程序。请求通常要运行很长时间(几十分钟)。我们的用户报告称,Internet Explorer 在等待一段时间后会断开连接并显示空白屏幕。应用程序日志显示请求在 servlet 级别正常完成,但它给出了许多错误,如下所示:
[4/24/15 11:31:19:253 MSK] 0000001f ThreadMonitor W WSVR0605W:线程“WebContainer : 2”(00000027)已活跃 750529 毫秒,可能已挂起。服务器中总共有 1 个线程可能已挂起
解决问题时应考虑 WebSphere 或 Internet Explorer 的哪些配置选项?
答案1
首先我想指出的是,如果您的应用程序正在运行非常长的事务,您需要找到一种异步方法来处理它。
如果您不负责应用程序设计,您可以做两件(非常肮脏的)事情:
- 修改挂起线程的警报(这很不妥,因为这可能会影响容器中的每个线程,并且您可能会错过所需的警报)。这里是实现这一目标的方法。
- 在您的 Web 容器的自定义属性中增加您的连接超时(这很不妥,因为它会影响您的性能和其他一些配置,因为您可能会被迫增加线程池,然后增加内存等等)。
但您一定要修复后端和/或实现中的问题(或者为您的开发人员制作核心转储)。