开发者

Limit the number of parallel processing of a servlet

We have a servlet which occupies more virtual memory on the server as it downloads files . For this reason, we would like to limit the concurrent requests to this server say for example we would only want 10 requests processed in parallel. We would want other requests wait in the queue.

Can a custom thread pool be created, and configured to define max number of threads and assign for this servlet to handle this scenario? We are using WebLogic server 9.2. Or is there any other better approach to do this? Appreciate any thoughts.

Could we configure a separate servlet and configure the threa开发者_如何学编程d pool to only allow X number of concurrent requests, all other requests would be placed in queue to use the next available servlet. Does this approach throw a timeout error? Can you please share more details around this? Thanks

http://download.oracle.com/docs/cd/E13222%5F01/wls/docs92/perform/appb%5Fqueues.html


Can a custom thread pool be created and assign for this servlet to handle this scenario? We are using WebLogic server 9.2. Or is there any other better approach to do this? Appreciate any thoughts.

Yes, this is possible. Instead of using the default self-tuning work manager (starting with Weblogic 9.x, execute queues are replaced by work managers for thread pools1), you could create a work manager with specific constraints like the max-threads-constraint and possibly the capacity. You can then assign a Servlet to a specific work manager using the wl-dispatch-policy of the weblogic.xml deployment descriptor file.


1 Note that it's still possible to enable WebLogic 8.1 Thread Pool Model and to use Execute Queues.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜