ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

´ÓÁ㿪ʼÍæת JMX ( Ò» ) ¡ª ¼ò½éºÍ Standard MBean(Îå)
2017-09-30 11:24:54 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:9867´Î
Tags£º´ÓÁã ¿ªÊ¼ JMX ¼ò½é Standard MBean
lic static void main(String[] args) throws IOException, MalformedObjectNameException, InstanceNotFoundException, AttributeNotFoundException, InvalidAttributeva lueException, MBeanException, ReflectionException, IntrospectionException { String domainName = "MyMBean"; int rmiPort = 1099; JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:"+rmiPort+"/"+domainName); // ¿ÉÒÔÀà±ÈHelloAgent.javaÖеÄÄǾ䣺 // JMXConnectorServer jmxConnector = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); JMXConnector jmxc = JMXConnectorFactory.connect(url); MBeanServerConnection mbsc = jmxc.getMBeanServerConnection(); //print domains System.out.println("Domains:------------------"); String domains[] = mbsc.getDomains(); for(int i=0;i<domains.length;i++){ System.out.println("\tDomain["+i+"] = "+domains[i]); } //MBean count System.out.println("MBean count = "+mbsc.getMBeanCount()); //process attribute ObjectName mBeanName = new ObjectName(domainName+":name=HelloWorld"); mbsc.setAttribute(mBeanName, new Attribute("Name","zzh"));//×¢ÒâÕâÀïÊÇName¶ø²»ÊÇname System.out.println("Name = "+mbsc.getAttribute(mBeanName, "Name")); //½ÓÏÂÈ¥ÊÇÖ´ÐÐHelloÖеÄprintHello·½·¨£¬·Ö±ðͨ¹ý´úÀíºÍrmiµÄ·½Ê½Ö´ÐÐ //via proxy HelloMBean proxy = MBeanServerInvocationHandler.newProxyInstance(mbsc, mBeanName, HelloMBean.class, false); proxy.printHello(); proxy.printHello("jizhi boy"); //via rmi mbsc.invoke(mBeanName, "printHello", null, null); mbsc.invoke(mBeanName, "printHello", new String[]{"jizhi gril"}, new String[]{String.class.getName()}); //get mbean information MBeanInfo info = mbsc.getMBeanInfo(mBeanName); System.out.println("Hello Class: "+info.getClassName()); for(int i=0;i<info.getAttributes().length;i++){ System.out.println("Hello Attribute:"+info.getAttributes()[i].getName()); } for(int i=0;i<info.getOperations().length;i++){ System.out.println("Hello Operation:"+info.getOperations()[i].getName()); } //ObjectName of MBean System.out.println("all ObjectName:--------------"); Set<ObjectInstance> set = mbsc.queryMBeans(null, null); for(Iterator<ObjectInstance> it = set.iterator();it.hasNext();){ ObjectInstance oi = it.next(); System.out.println("\t"+oi.getObjectName()); } jmxc.close(); } }

ÔËÐнá¹û£º

Domains:------------------
    Domain[0] = MyMBean
    Domain[1] = java.nio
    Domain[2] = JMImplementation
    Domain[3] = com.sun.management
    Domain[4] = java.lang
    Domain[5] = java.util.logging
MBean count = 21
Name = zzh
Hello Class: com.test.jmx.Hello
Hello Attribute:Name
Hello Operation:printHello
Hello Operation:printHello
all ObjectName:--------------
    java.lang:type=OperatingSystem
    java.lang:type=Compilation
    java.lang:type=MemoryPool,name=PS Old Gen
    java.lang:type=Memory
    JMImplementation:type=MBeanServerDelegate
    java.lang:type=MemoryPool,name=PS Perm Gen
    java.lang:type=Runtime
    MyMBean:name=htmladapter,port=8082
    java.nio:ty
Ê×Ò³ ÉÏÒ»Ò³ 2 3 4 5 ÏÂÒ»Ò³ βҳ 5/5/5
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£º¸úÉÏ Java 8 ¨C ÈÕÆÚºÍʱ¼äʵÓü.. ÏÂһƪ£º¸úÉÏ Java 8 ¨C ÄãºöÂÔÁ˵ÄÐÂÌØÐÔ

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿