⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exportagent.java

📁 jmx codeJava源码
💻 JAVA
字号:

package book.jmx.examples;

import javax.management.*;
import javax.management.modelmbean.*;
import java.rmi.*;
import java.rmi.registry.*;

public class ExportAgent {

  final static String SERVER_DELEGATE = 
      "JMImplementation:type=MBeanServerDelegate";
  final static String AGENT_ID =
      "MBeanServerId";
  final static String XMBEAN =
      "book.jmx.examples.XMBean";
  final static String[] XMBEAN_CONSTRUCTOR_SIGNATURE =
      { String.class.getName(), String.class.getName() };
      
  public static void main(String[] args) {
    
    try {        
      MBeanServer server = MBeanServerFactory.createMBeanServer();
      String agentID = (String)server.getAttribute(
          new ObjectName(SERVER_DELEGATE), AGENT_ID
      );

      ObjectName exportManager = 
          new ObjectName("Service:name=ExportManager");      
      ObjectName soapConnector =
          new ObjectName("Connector:transport=SOAP");
      ObjectName jmsConnector =
          new ObjectName("Connector:transport=JMS");
          
      server.createMBean(XMBEAN, soapConnector,
          new Object[] {
              "file:/C:/Examples/SOAPConnector.xml",
              "book.jmx.examples.SOAPConnector" },
          XMBEAN_CONSTRUCTOR_SIGNATURE
      );
          
      server.createMBean(XMBEAN, jmsConnector,
          new Object[] {
              "file:/C:/Examples/JMSConnector.xml",
              "book.jmx.examples.JMSConnector" },
          XMBEAN_CONSTRUCTOR_SIGNATURE
      );

      server.createMBean(XMBEAN, exportManager,
          new Object[] { 
              "file:/C:/Examples/ExportManager.xml",
              "book.jmx.examples.ExportManager" },
          XMBEAN_CONSTRUCTOR_SIGNATURE
      );
      
      server.invoke(soapConnector, "start",
          new Object[] { agentID },
          new String[] { String.class.getName() }
      );
      
      server.invoke(jmsConnector, "start",
          new Object[] { agentID },
          new String[] { String.class.getName() }
      );
      
      server.invoke(exportManager, "start",
          new Object[] { agentID },
          new String[] { String.class.getName() }
      );
      
      server.invoke(exportManager, "export",
          new Object[] { "MyAgent" },
          new String[] { String.class.getName() }
      );


        RequiredModelMBean rmm = new RequiredModelMBean();
        ModelMBeanInfoSupport info = new ModelMBeanInfoSupport(
            RequiredModelMBean.class.getName(),
            "descrption",
            null,
            null,
            null,
            null
        );
            
        rmm.setManagedResource(new Object(), "ObjectReference");
        rmm.setModelMBeanInfo(info);
        
        server.registerMBean(rmm, new ObjectName("Tst:aa=bb"));

        
        // create the adaptor instance
        com.tivoli.jmx.http_pa.Listener adaptor =
            new com.tivoli.jmx.http_pa.Listener();

        // register the adaptor MBean to the agent
        server.registerMBean(adaptor,
            new ObjectName("adaptor:protocol=HTTP"));

        // start the adaptor
        adaptor.startListener();

    }
    catch (java.io.IOException e) {
        e.printStackTrace();
    
      
//      com.sun.jdmk.comm.HtmlAdaptorServer adaptor =
//          new com.sun.jdmk.comm.HtmlAdaptorServer();
//      server.registerMBean(adaptor, 
//          new ObjectName("adaptor:protocol=HTTP"));
//      adaptor.setPort(6000);
//      adaptor.start();
    }
    catch (RuntimeMBeanException e) {
      e.getTargetException().printStackTrace();
    }
    catch (MBeanRegistrationException e) {
      e.getTargetException().printStackTrace();
    }
    catch (RuntimeErrorException e) {
      e.getTargetError().printStackTrace();
    }
    catch (ReflectionException e) {
      e.getTargetException().printStackTrace();
    }
    catch (MBeanException e) {
      e.getTargetException().printStackTrace();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -