如何使用PlatformMbeanServer在Websphere中获取Cluster节点?

时间:2017-09-17 12:31:47

标签: websphere jmx mbeans

我在WebSphere中部署了一个war应用程序,作为Server1和Server2的一部分。 有一个集群有这两个服务器。 我想编写java代码作为我的war应用程序的一部分并获取集群节点的详细信息。

  MBeanServer mbServer = ManagementFactory.getPlatformMBeanServer();
  Set mBeanSet = mbServer.queryMBeans(null, null);

上面的代码没有列出群集mbean,事实上,并不是所有的mbeans都列在这里。

在Jconsole中,此处未列出Cluster Mbean。

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

WebSphere MBean与JVM Mbeans不在同一MBean服务器中。这是列出所有WebSphere MBean的代码。由于Cluster Mbean位于Deployment Manager上,因此我们必须查找它。

      ObjectName on = new ObjectName("WebSphere:*");          
      Set mbeans = AdminServiceFactory.getAdminService()
              .getDeploymentManagerAdminClient().queryMBeans(on, null);

      for (Object o: mbeans){             
          System.out.println("mbean: "+ o);
      }