在Jboss企业应用程序平台(EAP)7.0.0中获取currentThreadsBusy

时间:2017-05-18 04:14:32

标签: jboss mbeans jboss-eap-7

我们正在将应用程序从JBoss 4.2.1 GA迁移到JBos EAP 7.0.0。应用程序审核作为线程计数的currentThreadsBusy。这不适用于EAP。

以下是代码片段

javax.management.MBeanServerConnection server = java.lang.management.ManagementFactory.getPlatformMBeanServer();
javax.management.QueryExp qe = javax.management.Query.finalSubString(javax.management.Query.attr("name"), javax.management.Query.value("-" + request.getLocalPort()));
System.out.println("qu = "+qe.toString());      
Set<ObjectInstance> set = server.queryMBeans(new javax.management.ObjectName("jboss.web:type=ThreadPool,*"),qe);
System.out.println("Set = "+set);
String objectName = "";
for (ObjectInstance objectInstance : set) {
     if (objectInstance.getObjectName().getCanonicalName().contains("=http")) {
         objectName = objectInstance.getObjectName().getCanonicalName();
     }
  }
System.out.println("objectName = "+objectName);
Object object = server.getAttribute(new ObjectName(objectName),"currentThreadsBusy");
System.out.println("object "+object);

问题是返回的Set为NULL。

问题可能是我们需要在查询mbean服务之前在EAP 7上启用Web线程监控。

在jConsole中我们也看不到网络线程组件。

这里有任何指针或帮助。

0 个答案:

没有答案