首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为一个新的restful web服务配置卡住的线程处理?

如何为一个新的restful web服务配置卡住的线程处理?
EN

Stack Overflow用户
提问于 2015-08-25 19:52:10
回答 2查看 1K关注 0票数 0

我正在开发一个restful web服务,它应该返回巨大的文件(2 2GB或更大)。当然,这个web服务的执行需要时间。当使用多个并行下载进行测试时,WLS会抛出BEA-000337错误(下载花费的时间比服务器配置中设置的"Stuck Max Time“更长)。

我的问题是,我找不到一种方法来调整它,只为新的web服务。“卡住线程最长时间”设置是在服务器级别设置的,这意味着它将影响所有其他服务。这是不可接受的。我需要一种只为新服务设置此属性的方法。

看起来我应该能够使用自己定义的WorkManagers,但是我在WorkManagers的文档中找到的唯一配置选项是处理阻塞的线程,而不是如何识别线程是否阻塞。

我的问题是:

有没有办法在wls中配置,只针对这个新的web服务,它应该如何识别卡住的线程,以及如何处理这些线程?

我使用的WLS版本是10.3.6

EN

回答 2

Stack Overflow用户

发布于 2018-12-20 14:02:23

您的处理需要时间,并且StuckThreadMaxTime的默认设置设置为600秒,您将在日志中看到此类错误。

您可以将StuckThreadMaxTime设置为更大的值(位于weblogic控制台的以下位置:域>环境>服务器>管理服务器>配置/调整)

票数 0
EN

Stack Overflow用户

发布于 2018-12-21 05:38:25

Weblogic是一种用于javaEE应用程序的应用程序服务器,应用程序服务器的一个吸引人的特性是,它们充当容器来处理许多本来应该通过编程来完成的工作。其中之一就是线程管理。因此,在EJB限制中,您可以找到:

-create或管理线程

用于与其他企业bean实例同步访问的-use线程同步原语

这是因为线程处理取决于容器。在weblogic控制台中,您可以配置每个受控服务器的"Stuck Max Time“参数(”Configuration“>”Tuning“选项卡),更改默认值600秒。无论如何,请记住,当线程处理超过600秒时,您会在日志中收到一个错误,因为Weblogic只是将线程分类为卡住,但处理仍在继续,当处理结束时,线程可能最终会松开。

这可能很有用:

https://docs.oracle.com/cd/E84527_01/wls/WLACH/taskhelp/tuning/TuningExecuteThreads.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32203272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档