MBean没有出现在JConsole中

时间:2014-12-23 12:58:37

标签: java glassfish jmx

我在Netbeans中开发了一个java Web应用程序。现在我想使用jconsole监控我的应用程序。

 public static void main(String[] args) throws Exception {
        String name="Example";

        MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();

        ObjectName object = new ObjectName("org.javalobby.tnt.jmx:type=example");
        mbs.registerMBean(name, object);
    }

我还在glassfish中添加以下行:

-Djava.rmi.server.hostname=myhost

-Dcom.sun.management.jmxremote.port=8686

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false

问题是我的bean没有出现在JConsole上。我做错了什么?

1 个答案:

答案 0 :(得分:1)

您将字符串对象作为MBean对象传递。按照下面的documentation进行操作。 使用此blog link创建一个示例测试mbean。

  

“MBean是一个托管Java对象,类似于JavaBeanTM   遵循仪器级别中规定的设计模式   JMX规范。 MBean可以代表一个设备,一个   应用程序或需要管理的任何资源。 MBeans暴露了一个   管理接口:一组可读和/或可写属性   一组可调用的操作,以及自我描述。

     

通过编写一个名为的Java接口来定义标准MBean   SomethingMBean和一个名为Something的Java类实现了它   接口。接口中的每个方法都定义一个属性   或MBean中的操作。默认情况下,每个方法定义一个   操作。属性和操作只是以下方法   某些设计模式。标准MBean由MBean组成   接口,列出所有公开属性的方法和   操作,以及实现此接口并提供的类   已检测资源的功能。“