예제 #1
0
  private static void maybeStartHtmlJmxAdaptor() {
    MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();

    String htmlAdaptorAvailable = System.getProperty("hornetq.htmladaptor.available");

    if ("TRUE".equalsIgnoreCase(htmlAdaptorAvailable)) {

      try {

        String strPort = System.getProperty("hornetq.htmladaptor.port");

        int htmlAdaptorPort = Integer.parseInt(strPort);

        String userName = System.getProperty("hornetq.htmladaptor.userName");
        String password = System.getProperty("hornetq.htmladaptor.password");

        final HtmlAdaptorServer adapter = new HtmlAdaptorServer();

        ObjectName adapterName =
            new ObjectName("SimpleAgent:name=htmladapter,port=" + htmlAdaptorPort);

        adapter.setPort(htmlAdaptorPort);

        if (userName != null && password != null) {
          adapter.addUserAuthenticationInfo(new AuthInfo(userName, password));
        }

        beanServer.registerMBean(adapter, adapterName);
        adapter.start();

        Runtime.getRuntime()
            .addShutdownHook(
                new Thread() {
                  public void run() {
                    adapter.stop();
                  }
                });
      } catch (Exception e) {
        log.error("Error starting up the HtmlAdaptorServer: " + e.getMessage(), e);
        log.error(
            "If you don't want this, remove the hornetq.htmladaptor.available property "
                + "or set it to false");
        System.exit(-1);
      }
    }
  }
예제 #2
0
  public static void main(String[] args) throws Exception {
    MBeanServer server = MBeanServerFactory.createMBeanServer();

    ObjectName helloName = new ObjectName("Hello:name=HelloWorld");
    server.registerMBean(new Hello(), helloName);

    ObjectName adapterName = new ObjectName("HelloAgent:name=htmladapter,port=8082");
    HtmlAdaptorServer adapter = new HtmlAdaptorServer();
    server.registerMBean(adapter, adapterName);

    adapter.start();
    System.out.println("start.....");

    int rmiPort = 1099;
    String jmxServerName = "TestJMXServer";
    JMXServiceURL url =
        new JMXServiceURL(
            "service:jmx:rmi:///jndi/rmi://localhost:" + rmiPort + "/" + jmxServerName);
    System.out.println("JMXServiceURL: " + url.toString());
    JMXConnectorServer jmxConnServer =
        JMXConnectorServerFactory.newJMXConnectorServer(url, null, server);
    jmxConnServer.start();
  }