我在一家大型企业 IT 商店工作,我们在 WebSphere 的应用程序服务器上运行我们的 Java 应用程序。
我们观察到一种我想结束的行为:如果线程超时 --- 最明显的是在进行 RMI 调用时 --- 应用程序服务器似乎重新生成线程并再次发送它,如果没有则至少发送一次多次。这种行为很难重现,但我们已经能够在以 60 秒的间隔(与我们的超时设置匹配)重复的请求的生产日志中观察到它。
我的研究只发现了一个可能的参数来调整可能会结束这种行为:- com.ibm.websphere.webservices.http.requestResendEnabled
这是一个严格控制的商店,所以我不想在不确定它是否会产生预期效果的情况下调整该参数。
有没有其他人观察到这种行为,这是纠正它的正确途径吗?
谢谢,迈克
我们联系了 IBM 支持,他们无法回答这个问题。
在对 IBM 文档进行额外研究后,我们意识到这是由 HTTP 插件引起的,该插件在迁移到 WebSphere 7 时添加了一个默认设置:PostBufferSize。
这种行为(重新发送线程)在数据输入应用程序中可能非常有害,可以通过设置 PostBufferSize = 0 来禁用。
直接从 IBM 参考这篇文章: http ://www-01.ibm.com/support/docview.wss?uid=swg21450051