Weblogic 无法显示工作管理器线程约束和页面

Weblogic 无法显示工作管理器线程约束和页面,weblogic,long-running-processes,weblogic9.x,Weblogic,Long Running Processes,Weblogic9.x,对于某些功能,我们有一个内存密集型处理,我们希望将并行请求的数量限制在此处理中。我们可以使用WebLogic中的“工作管理器”进行配置,并限制该servlet的线程数量 例如,如果我们将maximim线程限制设置为3,那么如果有10个并行请求;队列中有7个请求。在某些情况下,排队等候的这些请求可能需要30-40分钟才能得到处理。我们做了简单的测试,15分钟后由于超时而无法显示收到的页面,1小时后收到消息 有人知道WebLogic中是否有增加/减少超时和避免页面无法显示的设置吗 如果有人对此有任何

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

例如,如果我们将maximim线程限制设置为3,那么如果有10个并行请求;队列中有7个请求。在某些情况下,排队等候的这些请求可能需要30-40分钟才能得到处理。我们做了简单的测试,15分钟后由于超时而无法显示收到的页面,1小时后收到消息

有人知道WebLogic中是否有增加/减少超时和避免页面无法显示的设置吗

如果有人对此有任何想法,请谅解。

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

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

有人知道WebLogic中是否有增加/减少超时和避免页面无法显示的设置吗

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


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

也许quartz可以满足您的需要?开始一项工作,并根据需要进行检查?

谢谢您的回复。当用户单击按钮时,上述处理开始,我们不介意用户在处理过程中等待。所以,要检查是否向服务器发出了请求,并且服务器大约需要30分钟,浏览器是否超时?您有优秀的用户:)。我介意等30分钟。为什么不在点击按钮时发送一条JMS消息,让用户做其他事情呢?您可能还有其他页面,用户可以在其中查看作业状态。至于超时,我认为它不仅取决于浏览器,还可能取决于路由器、网络驱动程序等的超时。例如,在FireFox中,您可以使用以下参数设置超时:network.http.connect.timeout和network.http.request.timeout().嗨,我听说IE6的默认超时是60秒。这是否意味着如果在60秒内未收到服务器的响应,用户将看到无法显示页面?