繁体   English   中英

为什么Weblogic工作经理拒绝工作

[英]Why is Weblogic work manager is rejecting work

我正在使用在Web逻辑环境中运行的commonJ工作管理器。

我的设置如下:

我的Spring应用程序上下文

 <bean id="workManagerTaskExecutor" class="org.springframework.scheduling.commonj.WorkManagerTaskExecutor"> <property name="workManagerName" value="java:comp/env/wm/UVWorkManager" /> </bean> 

我在WEB-INF中的web.xml文件

 <resource-ref> <res-ref-name>wm/UVWorkManager</res-ref-name> <res-type>commonj.work.WorkManager</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> 

和我的weblogic.xml文件在WEB-INF中

<work-manager>
    <name>wm/UVWorkManager</name>
    <min-threads-constraint>
        <name>min threads</name>
        <count>30</count>
    </min-threads-constraint>
    <max-threads-constraint>
        <name>max threads</name>
        <count>200</count>
    </max-threads-constraint>
    <capacity>
        <name>max capacity</name>
        <count>20</count>
    </capacity>
    <work-manager-shutdown-trigger>
        <max-stuck-thread-time>600</max-stuck-thread-time>
        <stuck-thread-count>100</stuck-thread-count>
    </work-manager-shutdown-trigger>
</work-manager>

过了一会儿从SOAP-UI调用服务。 我收到以下错误

commonj.work.WorkException: commonj.work.WorkRejectedException: [WorkManager:002912]OverloadManager max capacity rejected request as current length 20 exceeds max capacity of 20

我知道设置为最大值将被拒绝,但是为什么不收回这些线程呢? 即使等待15分钟,我也无法提交新请求。 我必须重新启动服务。

该能力包括受约束的工作集中所有已排队或正在执行的请求。 要验证线程的状态,请执行JVM的线程转储。

您应该将JVM标志-Dweblogic.StuckThreadHandling = true设置为在生成theard转储时在日志文件中追加WorkManager的名称。

kill -3 JVM_PID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM