[jboss-cvs] jboss-docs/jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex4 ...

Norman Richards norman.richards at jboss.com
Wed Nov 1 13:14:20 EST 2006


  User: nrichards
  Date: 06/11/01 13:14:20

  Added:       jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex4 
                        JMXBrowser.java
  Log:
  modified for j2ee guide
  
  Revision  Changes    Path
  1.1      date: 2006/11/01 18:14:20;  author: nrichards;  state: Exp;jboss-docs/jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex4/JMXBrowser.java
  
  Index: JMXBrowser.java
  ===================================================================
  package org.jboss.book.jmx.ex4;
  
  import javax.management.MBeanInfo;
  import javax.management.MBeanOperationInfo;
  import javax.management.MBeanParameterInfo;
  import javax.management.ObjectName;
  import javax.naming.InitialContext;
  
  import org.jboss.jmx.adaptor.rmi.RMIAdaptor;
  
  /** 
   *  A client that demonstrates how to connect to the JMX server using
   *  the RMI adaptor.
   *
   *  @author Scott.Stark at jboss.org
   *  @version $Revision: 1.1 $
   */
  public class JMXBrowser
  {
      /**
       * @param args the command line arguments
       */
      public static void main(String[] args) throws Exception
      {
          InitialContext ic = new InitialContext();
          RMIAdaptor server = (RMIAdaptor) ic.lookup("jmx/invoker/RMIAdaptor");
          
          // Get the MBeanInfo for the JNDIView MBean
          ObjectName name = new ObjectName("jboss:service=JNDIView");
          MBeanInfo  info = server.getMBeanInfo(name);
          System.out.println("JNDIView Class: " + info.getClassName());
  
          MBeanOperationInfo[] opInfo = info.getOperations();
          System.out.println("JNDIView Operations: ");
          for(int o = 0; o < opInfo.length; o ++) {
              MBeanOperationInfo op = opInfo[o];
  
              String returnType = op.getReturnType();
              String opName     = op.getName();
              System.out.print(" + " + returnType + " " + opName + "(");
  
              MBeanParameterInfo[] params = op.getSignature();
              for(int p = 0; p < params.length; p++)  {
                  MBeanParameterInfo paramInfo = params[p];
  
                  String pname = paramInfo.getName();
                  String type = paramInfo.getType();
  
                  if (pname.equals(type)) {
                      System.out.print(type);
                  } else {
                      System.out.print(type + " " + name);
                  }
  
                  if (p < params.length-1) {
                      System.out.print(','); 
                  }
              }
              System.out.println(")");
          }
          
          // Invoke the list(boolean) op
          String[] sig    = {"boolean"};
          Object[] opArgs = {Boolean.TRUE};
          Object   result = server.invoke(name, "list", opArgs, sig);
  
          System.out.println("JNDIView.list(true) output:\n"+result);
      }
  }
  
  
  



More information about the jboss-cvs-commits mailing list