0
votes

I am using WebSphere Application Server 8.5.5.3. The maximum number of web container threads is set to 100. There are multiple applications installed on the server. At times one of the application slows down and hangs all the web container threads. That results in requests from all other applications getting piled up waiting for web container threads. Is there a property that can timeout the waiting requests?

I do not want to timeout a request, if the request processing has started. There are some long running requests and those should not timeout. Please suggest.

1
What kind of request is? Is it a web service?Paul Vargas
It is a http request, rest request from browser.pawinder gupta

1 Answers

0
votes

Try to use async servlet, like below for your long running requests:

@WebServlet(asyncSupported = true, urlPatterns = { "/AsyncServlet" })
public class AsyncServlet extends HttpServlet {
...
}

Asynchronous servlet in WebSphere Application Server will return thread to the web container pool, so it can be used to handle other requests.

For more information how to develop async servlet check chapter 5 in the WebSphere Application Server Liberty Profile Guide for Developers. Although it is related to the Liberty Profile same code can be used in the normal WebSphere Application Server.

For information how to configure asynchronous processing in web container check Web container settings