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