0

我们对某些功能进行了内存密集型处理,我们希望限制此处理的并行请求数量。我们可以通过在 WebLogic 中使用“工作管理器”并限制该 servlet 的线程数来进行配置。

比如我们把maximim thread limit设置为3,那么如果有10个并行请求;7 个请求在队列中。在某些情况下,这些在队列中等待的请求可能需要长达 30-40 分钟才能得到处理。我们做了简单的测试,收到的页面15分钟后超时无法显示,1小时后收到消息。

有谁知道WebLogic中是否有设置来增加/减少超时并避免页面无法显示?

感谢有人对此有任何想法。

4

3 回答 3

1

有谁知道WebLogic中是否有设置来增加/减少超时并避免页面无法显示?

可能有一些东西,但我实际上没有检查,因为无论如何这都是一个坏建议。通过寻找这个,你试图在这里解决错误的问题。即使您不介意用户等待(更不用说他可以刷新页面并排队越来越多的作业),浏览器也不适合像您描述的那样长时间运行(> 3000万)。

所以,我认为正确的答案是:使用异步,这是一个完美的用例。当用户单击按钮时,向队列发送 JMS 消息(或创建 Quartz 作业)并向用户发送带有请求 ID 的页面,告诉他稍后再回来。处理完成后,在某处更新状态并将状态/结果提供给用户。确实,这样做的用户体验会更好,并且与使用浏览器相比,您将面临更少的问题。

于 2009-11-05T05:00:31.693 回答
0

1)使用其他工具(不是浏览器),例如 WGET,您可以在其中控制超时参数(--timeout)。

2)你为什么使用HTTP?使用消息驱动的 bean 并向其发送消息 JMS,并且不关心超时。

于 2009-11-04T20:09:54.170 回答
0

也许石英可以满足您的需求?开始工作并根据需要进行检查?

于 2009-11-26T01:44:07.553 回答