JMX Getting Started StandardMbean HelloWord

xiaoxiao2021-03-06  19

(Author's original, you can reprint, please indicate the source) http://blog.9cbs.net/zmxj This simple MBean only has a property and a method, startbeandemomain calls the following three methods in the MAIN method, the code There are detailed notes: sbean.doMladbean (); sbean.domanagebean (); sbean.Reghtmladaptor (); After running, you can see the information printed by the console, Register Standmbean Sucess..attribute: State -init ValueAttribute: State 2 -new StateMy Service Start ..... Due to the start of HTMLADAPTOR, the program has been running, (HTMLADAPTOR is a Adapter that comes with the SUN JMX) Test can be accessed in the browser: http: // localhost: 8082 You can manage MBean in your browser. Press STARVICE button under List of MBean Operations to see the information you play in the console, indicating that the StartService method is called. JDK1.4 requires jmxri.jar and jmxtools.jar two packages, and JDK50 already includes JMX's API.

/ ** * Mbean Interface * StandBeanMBean.java * @author zmxj * / public interface StandBeanMBean {public String getState (); public void setState (String s); public void startService ();} / ** * Mbean achieve * StandBean. java * @author zmxj * / public class StandBean implements StandBeanMBean {private String state = "init value"; public String getState () {return state;} public void setState (String s) {state = s;} public void startService () {System.out.println ( "My service start .....");}} import javax.management.Attribute; import javax.management.AttributeNotFoundException; import javax.management.InstanceNotFoundException; import javax.management.InvalidAttributeValueException; import javax.management.MBeanException; import javax.management.MBeanServer; import javax.management.MBeanServerFactory; import javax.management.MalformedObjectNameException; import javax.management.ObjectName; import javax.management.ReflectionException; im port com.sun.jdmk.comm.HtmlAdaptorServer; / ** * Agent Class * StardBeanDemoMain.java * @author zmxj * / public class StardBeanDemoMain {private MBeanServer mBserver = null; ObjectName mbeanObjectName = null; String domain = null; String mbeanName = "StandBean"; public static void main (String [] args) {StardBeanDemoMain sbean = new StardBeanDemoMain (); sbean.doRegistBean (); sbean.doManageBean (); sbean.regHtmlAdaptor ();} / ** * Create and register MBeanServer A mbean * / private void doregistbean () {// creates mbeanserver mbserver = mbeanserverfactory.creatembeanserver (); domain =

mBserver.getDefaultDomain (); try {mbeanObjectName = new ObjectName (domain ": type =" mbeanName); / * // here can be created directly and simultaneously to register a mbean MBeanServer server.createMBean (mbeanName, mbeanObjectName); *. / StandBean bean = new StandBean (); mBserver.registerMBean (bean, mbeanObjectName); System.out.println ( "register StandMbean sucess ..");} catch (MalformedObjectNameException e) {e.printStackTrace (); System.exit ( 1);} catCH (Exception E) {E.PrintStackTrace (); System.exit (1);}} / * * Demo Manage MBean, modify MBean properties and implement MBean method * / private void domanagebean () {try {ObjectName mbeanObjectName = new ObjectName (domain ": type =" mbeanName); System.out.println ( "attribute: state -" mBserver.getAttribute (mbeanObjectName, "State")); // modify properties State Attribute StateAttribute = New Attr ibute ( "State", "new state"); mBserver.setAttribute (mbeanObjectName, stateAttribute); // attribute value acquired System.out.println ( "Attribute: state 2 -" mBserver.getAttribute (mbeanObjectName, "State") ); // call method StartService Mbserver.invoke (MBeanObjectName, "StartService", NULL, NULL);} catch (Exception E) {E.PrintStackTrace ();}} / * * Register HTMLADAPTOR, after registration, you can pass HTTP: / / localhost: 8082 Execute MBean Management Operation * / Private Void REGHTMLADAPTOR () {HTMLADAPTORSERVER HTML = New HTMLADAPTORSERVER ();

转载请注明原文地址:https://www.9cbs.com/read-43771.html

New Post(0)