Java - multiple requests from two WebContainer threads

时光怂恿深爱的人放手 提交于 2019-12-12 09:46:22

问题


We are testing a sub-system timeout of 150 seconds. So in my application, the first SOAP request is sent. Then 60 seconds later, another request is sent. My question is where is the other request coming from. It's new thread yet, but the client code has no re-try mechanism. This is running on WebSphere 6. These are snippets from the logs:

2011-01-18 16:16:32.696 EST [WebContainer : 0] DEBUG content  <> << "<?xml version="1.0" encoding="UTF-8"?>[\n]"

2011-01-18 16:17:32.591 EST [WebContainer : 2] DEBUG content  <> << "<?xml version="1.0" encoding="UTF-8"?>[\n]"

As you can see the same reqeust is called, from a different WebContainer almost one minute apart. How can I find where the 2nd request is coming from? What should I check in WebSphere to debug?


回答1:


Dealt with this issue just a couple of weeks ago. The HTTP Plugins of WebSphere have a default time-out setting of 60 seconds. If your thread still hasn't returned after 60 seconds, the request will be reissued (I believe by the HTTP Server, but not sure). Hence the second WebContainer thread processing the request.

You can set the plugin time to > 150 seconds in order to test your case. Set the ServerIOTimeout custom property in the "Plug-In Properties" page of the web server definition in the WebSphere admin console. Set to 0 for an infinite wait time.

This works on both WAS6.1 and WAS7, I guess you can find out if it does on WAS6.



来源:https://stackoverflow.com/questions/4753276/java-multiple-requests-from-two-webcontainer-threads

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!