【问题标题】:How to get Hogging Thread name WLST如何获取占用线程名称 WLST
【发布时间】:2015-10-13 12:24:43
【问题描述】:

我想在 weblogic 中获取标记为 Hogger 的线程名称。 我试过了 ThreadPoolRuntimeMBean.getHoggingThreadCount() 但这仅给出了占用线程的数量。

在自调整线程池线程下 Weblogic 正在显示 "Thread Name" ,"Stuck" (True/false) 和 "Hogger" (True/false) ,显然 weblogic 开发人员已经编写了一些方法来获取这些值。

我正在寻找 weblogic 内置方法(在 WLST 中)或任何其他方式来获取占用线程的名称

PFA Weblogic 屏幕截图了解更多详情 或查看此链接上的图片 (http://www.munzandmore.com/wp-content/uploads/2012/04/st9.jpg)

【问题讨论】:

    标签: multithreading weblogic wlst


    【解决方案1】:

    这是一个非常基本的 WLST 脚本来完成此任务(对于默认的非集群 AdminServer 安装):

    connect('weblogic', 'welcome1')
    serverRuntime()
    cd('ThreadPoolRuntime/ThreadPoolRuntime')
    for thread in cmo.getExecuteThreads():
       print(thread.getName() + " - " + str(thread.isHogger()))
    

    您可以使用 print dir(thread) 来获取所有可用的属性和方法。

    对于更复杂的托管服务器环境,您可以将以上内容与此示例结合使用:http://wlstbyexamples.blogspot.co.za/2009/06/self-tuned-thread-pool-count.html#.ViCqTnVStBc

    【讨论】:

    • 感谢 Rudolfv,您能否帮我列出 for 循环中线程引用的所有可能方法。例如:thread.getName() 和 thread.isHogger。我想知道完整的线程名称,在这里通过 getName 方法我得到 "" [ACTIVE] Execute Thread: '0' for queue: 'weblogic.kernal.Default (self-tuning)'"" 这没有任何意义。我想知道确切的线程名称。请分享所有可能的方法或对此问题的任何参考。
    猜你喜欢
    • 2012-03-11
    • 1970-01-01
    • 2013-02-28
    • 2015-08-05
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 2011-07-02
    相关资源
    最近更新 更多