2015-10-13 401 views
1

我想在weblogic中获取标记为Hogger的线程的名称。 我试过 ThreadPoolRuntimeMBean.getHoggingThreadCount() 但是这只给出了Hogging线程数。如何获得Hogging线程名称WLST

在自整定线程库 是WebLogic显示“线程名称”,“卡”(TRUE/FALSE)和“霍格”(TRUE/FALSE),所以很明显的WebLogic开发者已经写了一些方法来获得这些值。

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

更多细节

PFA Weblogic的屏幕快照或检查该链接的图像(http://www.munzandmore.com/wp-content/uploads/2012/04/st9.jpg

回答

0

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

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

您可以使用打印目录(线程)获得所有可用的属性和方法。

对于更复杂的管理服务器环境中,你可以结合上面的这个例子:http://wlstbyexamples.blogspot.co.za/2009/06/self-tuned-thread-pool-count.html#.ViCqTnVStBc

+0

感谢Rudolfv,你能不能也帮我的for循环在线程引用的所有可能的方法列表。例如:thread.getName()和thread.isHogger。我想知道完整的线程名称,在这里通过getName方法我得到“”[ACTIVE]执行线程:'0'队列: 'weblogic.kernal.Default(自我调整)'“”,它不表示任何东西。我想知道确切的线程名称。请分享所有可能的方法或任何关于此问题的参考。 –