User: oberg   
  Date: 00/05/19 00:12:01

  Added:       src/main/org/jboss/jmx/server JMXAdaptorImpl.java
                        JMXAdaptorServer.java JMXAdaptorServerMBean.java
  Log:
  Prefixed deployment classes with Jaws and jBoss
  Added server-side JMX RMI Adaptor
  Added shorthand JMX commands for deploy and stop of server
  Added read-only functionality to JAWS
  
  Revision  Changes    Path
  1.1                  jboss/src/main/org/jboss/jmx/server/JMXAdaptorImpl.java
  
  Index: JMXAdaptorImpl.java
  ===================================================================
  /*
   * jBoss, the OpenSource EJB server
   *
   * Distributable under GPL license.
   * See terms of license at gnu.org.
   */
   
  package org.jboss.jmx.server;
  
  import java.rmi.server.UnicastRemoteObject;
  import java.rmi.RemoteException;
  import java.rmi.ServerException;
  import java.util.ArrayList;
  import java.util.Iterator;
  
  import javax.management.Attribute;
  import javax.management.ObjectName;
  import javax.management.QueryExp;
  import javax.management.ObjectInstance;
  import javax.management.AttributeNotFoundException;
  import javax.management.InstanceNotFoundException;
  import javax.management.InvalidAttributeValueException;
  import javax.management.MBeanException;
  import javax.management.ReflectionException;
  import javax.management.MBeanServer;
  import javax.naming.InitialContext;
  
  import org.jboss.logging.Log;
  import org.jboss.util.ServiceMBeanSupport;
  
  import org.jboss.jmx.interfaces.JMXAdaptor;
  
  /**
   *   <description> 
   *      
   *   @see <related>
   *   @author Rickard �berg ([EMAIL PROTECTED])
   *   @version $Revision: 1.1 $
   */
  public class JMXAdaptorImpl
     extends UnicastRemoteObject
     implements JMXAdaptor
  {
     // Constants -----------------------------------------------------
      
     // Attributes ----------------------------------------------------
        MBeanServer server;
     
     // Static --------------------------------------------------------
  
     // Constructors --------------------------------------------------
     public JMXAdaptorImpl(MBeanServer server)
                throws RemoteException
     {
                super();
                this.server = server;
     }
     
     // JMXAdaptor implementation -------------------------------------
     public java.lang.Object invoke(ObjectName name,
                                    java.lang.String actionName,
                                         java.lang.Object[] params,
                                      java.lang.String[] signature)
        throws InstanceNotFoundException,
               MBeanException,
               ReflectionException,
                         RemoteException
        {
        return server.invoke(name, actionName, params, signature);
     }
  
     public java.util.Set queryMBeans(ObjectName name,
                                        QueryExp query)
        throws RemoteException
        {
                return server.queryMBeans(name, query);
        }
     
     public java.util.Collection getMBeanInfos()
        throws RemoteException
        {
                try
                {
                        ArrayList infos = new ArrayList();
                        Iterator mbeans = server.queryNames(null, null).iterator();
                        while(mbeans.hasNext())
                        {
                                
infos.add(server.getMBeanInfo((ObjectName)mbeans.next()));
                        }
                        return infos;
                } catch (Exception e)
                {
                        throw new ServerException("Exception occurred", e);
                }
                
        }
     
     public void setAttribute(ObjectName name,
                           Attribute attribute)
        throws InstanceNotFoundException,
               AttributeNotFoundException,
               InvalidAttributeValueException,
               MBeanException,
               ReflectionException,
                         RemoteException
        {
                server.setAttribute(name, attribute);
        }
                         
     public java.lang.Object getAttribute(ObjectName name,
                                       java.lang.String attribute)
        throws MBeanException,
               AttributeNotFoundException,
               InstanceNotFoundException,
               ReflectionException,
                         RemoteException
        {
                return server.getAttribute(name, attribute);
        }
        
     // Protected -----------------------------------------------------
  }
  
  
  
  
  1.1                  jboss/src/main/org/jboss/jmx/server/JMXAdaptorServer.java
  
  Index: JMXAdaptorServer.java
  ===================================================================
  /*
   * jBoss, the OpenSource EJB server
   *
   * Distributable under GPL license.
   * See terms of license at gnu.org.
   */
   
  package org.jboss.jmx.server;
  
  import java.io.File;
  import java.net.URL;
  import java.rmi.server.UnicastRemoteObject;
  import java.rmi.RemoteException;
  import java.rmi.ServerException;
  import java.util.ArrayList;
  import java.util.Iterator;
  
  import javax.management.Attribute;
  import javax.management.ObjectName;
  import javax.management.QueryExp;
  import javax.management.ObjectInstance;
  import javax.management.AttributeNotFoundException;
  import javax.management.InstanceNotFoundException;
  import javax.management.InvalidAttributeValueException;
  import javax.management.MBeanException;
  import javax.management.ReflectionException;
  import javax.management.MBeanServer;
  import javax.naming.InitialContext;
  
  import org.jboss.logging.Log;
  import org.jboss.util.ServiceMBeanSupport;
  
  /**
   *   <description> 
   *      
   *   @see <related>
   *   @author Rickard �berg ([EMAIL PROTECTED])
   *   @version $Revision: 1.1 $
   */
  public class JMXAdaptorServer
     extends ServiceMBeanSupport
     implements JMXAdaptorServerMBean
  {
     // Constants -----------------------------------------------------
      
     // Attributes ----------------------------------------------------
        MBeanServer server;
        JMXAdaptorImpl adaptor;
     
     // Static --------------------------------------------------------
  
     // Constructors --------------------------------------------------
     
     // Public --------------------------------------------------------
     public ObjectName getObjectName(MBeanServer server, ObjectName name)
        throws javax.management.MalformedObjectNameException
     {
                this.server = server;
        return new ObjectName(OBJECT_NAME);
     }
     
     public String getName()
     {
        return "JMX RMI Adaptor";
        }
     
     public void startService()
        throws Exception
     {
                adaptor = new JMXAdaptorImpl(server);
                new InitialContext().bind("jmx", adaptor);
     }
     
     public void stopService()
     {
                try
                {
                        adaptor = null;
                        new InitialContext().unbind("jmx");
                } catch (Exception e)
                {
                        System.err.println(e);
                }
     }
  
     // JMXAdaptor implementation -------------------------------------
     public java.lang.Object invoke(ObjectName name,
                                    java.lang.String actionName,
                                         java.lang.Object[] params,
                                      java.lang.String[] signature)
        throws InstanceNotFoundException,
               MBeanException,
               ReflectionException,
                         RemoteException
        {
        return server.invoke(name, actionName, params, signature);
     }
  
     public java.util.Set queryMBeans(ObjectName name,
                                        QueryExp query)
        throws RemoteException
        {
                return server.queryMBeans(name, query);
        }
     
     public java.util.Collection getMBeanInfos()
        throws RemoteException
        {
                try
                {
                        ArrayList infos = new ArrayList();
                        Iterator mbeans = server.queryNames(null, null).iterator();
                        while(mbeans.hasNext())
                        {
                                
infos.add(server.getMBeanInfo((ObjectName)mbeans.next()));
                        }
                        return infos;
                } catch (Exception e)
                {
                        throw new ServerException("Exception occurred", e);
                }
                
        }
     
     public void setAttribute(ObjectName name,
                           Attribute attribute)
        throws InstanceNotFoundException,
               AttributeNotFoundException,
               InvalidAttributeValueException,
               MBeanException,
               ReflectionException,
                         RemoteException
        {
                server.setAttribute(name, attribute);
        }
                         
     public java.lang.Object getAttribute(ObjectName name,
                                       java.lang.String attribute)
        throws MBeanException,
               AttributeNotFoundException,
               InstanceNotFoundException,
               ReflectionException,
                         RemoteException
        {
                return server.getAttribute(name, attribute);
        }
        
     // Protected -----------------------------------------------------
  }
  
  
  
  
  1.1                  jboss/src/main/org/jboss/jmx/server/JMXAdaptorServerMBean.java
  
  Index: JMXAdaptorServerMBean.java
  ===================================================================
  /*
   * jBoss, the OpenSource EJB server
   *
   * Distributable under GPL license.
   * See terms of license at gnu.org.
   */
  
  package org.jboss.jmx.server;
  
  /**
   *   <description> 
   *      
   *   @see <related>
   *   @author Rickard �berg ([EMAIL PROTECTED])
   *   @version $Revision: 1.1 $
   */
  public interface JMXAdaptorServerMBean
     extends org.jboss.util.ServiceMBean
  {
     // Constants -----------------------------------------------------
     public static final String OBJECT_NAME = "Adaptor:name=RMI";
      
     // Public --------------------------------------------------------
  }
  
  
  

Reply via email to