我在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上。我做错了什么?
答案 0 :(得分:1)
您将字符串对象作为MBean对象传递。按照下面的documentation进行操作。 使用此blog link创建一个示例测试mbean。
“MBean是一个托管Java对象,类似于JavaBeanTM 遵循仪器级别中规定的设计模式 JMX规范。 MBean可以代表一个设备,一个 应用程序或需要管理的任何资源。 MBeans暴露了一个 管理接口:一组可读和/或可写属性 一组可调用的操作,以及自我描述。
通过编写一个名为的Java接口来定义标准MBean SomethingMBean和一个名为Something的Java类实现了它 接口。接口中的每个方法都定义一个属性 或MBean中的操作。默认情况下,每个方法定义一个 操作。属性和操作只是以下方法 某些设计模式。标准MBean由MBean组成 接口,列出所有公开属性的方法和 操作,以及实现此接口并提供的类 已检测资源的功能。“