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

在Jboss企业应用程序平台(EAP)7.0.0中获取currentThreadsBusy,jboss,mbeans,jboss-eap-7,Jboss,Mbeans,Jboss Eap 7,我们正在将一个应用程序从JBoss 4.2.1 GA迁移到JBos EAP 7.0.0。应用程序审计currentThreadsBusy,即线程计数。这在EAP上不起作用 下面是代码snippent javax.management.MBeanServerConnection server = java.lang.management.ManagementFactory.getPlatformMBeanServer(); javax.management.QueryExp qe = javax.

我们正在将一个应用程序从JBoss 4.2.1 GA迁移到JBos EAP 7.0.0。应用程序审计currentThreadsBusy,即线程计数。这在EAP上不起作用

下面是代码snippent

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);
javax.management.MBeanServer连接服务器=java.lang.management.ManagementFactory.getPlatformMBeanServer();
javax.management.QueryExp qe=javax.management.Query.finalSubString(javax.management.Query.attr(“名称”),javax.management.Query.value(“-”+request.getLocalPort());
System.out.println(“qu=“+qe.toString());
Set=server.queryMBeans(新的javax.management.ObjectName(“jboss.web:type=ThreadPool,*”),qe);
System.out.println(“Set=“+Set”);
字符串objectName=“”;
for(ObjectInstance ObjectInstance:set){
if(objectInstance.getObjectName().getCanonicalName()包含(“=http”)){
objectName=objectInstance.getObjectName().getCanonicalName();
}
}
System.out.println(“objectName=“+objectName”);
Object Object=server.getAttribute(新的ObjectName(ObjectName),“currentThreadsBusy”);
System.out.println(“对象”+对象);
问题是返回的集合为空

问题可能是我们需要在EAP7上启用web线程监视,然后才能查询mbean服务

在jConsole中,我们也看不到web线程组件


感谢您的指点和帮助。

我不相信
jboss.web
这个名字已经存在了。看一看。我确实知道这一点,因为我在jconsole中找不到。如何像4.2.1.GA中那样测量http线程?您指向我的链接包含对非HTTP线程的java线程的引用。