You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2003/12/30 22:16:03 UTC

cvs commit: incubator-geronimo/modules/clustering/src/java/org/apache/geronimo/clustering AbstractCluster.java Cluster.java LocalCluster.java

djencks     2003/12/30 13:16:03

  Modified:    modules/clustering maven.xml project.xml
               modules/clustering/src/deploy clustering-service.xml
               modules/clustering/src/java/org/apache/geronimo/clustering
                        AbstractCluster.java Cluster.java LocalCluster.java
  Log:
  Convert clustering to geronimo mbeans and, partly, geronimo code style
  
  Revision  Changes    Path
  1.2       +1 -5      incubator-geronimo/modules/clustering/maven.xml
  
  Index: maven.xml
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/clustering/maven.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- maven.xml	28 Dec 2003 16:10:19 -0000	1.1
  +++ maven.xml	30 Dec 2003 21:16:03 -0000	1.2
  @@ -12,8 +12,4 @@
       <attainGoal name="html2xdoc"/>
     </preGoal>
   
  -  <preGoal name="java:compile">
  -    <attainGoal name="xdoclet:jmxdoclet:compile"/>
  -  </preGoal>
  -
   </project>
  
  
  
  1.2       +1 -32     incubator-geronimo/modules/clustering/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/clustering/project.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- project.xml	28 Dec 2003 16:10:19 -0000	1.1
  +++ project.xml	30 Dec 2003 21:16:03 -0000	1.2
  @@ -111,37 +111,6 @@
       </dependency>
   
   
  -    <dependency>
  -      <id>xdoclet</id>
  -      <version>1.2b2</version>
  -      <properties>
  -        <runtime>false</runtime>
  -      </properties>
  -    </dependency>
  -
  -    <dependency>
  -      <id>xdoclet+xdoclet-module</id>
  -      <version>1.2b2</version>
  -      <properties>
  -        <runtime>false</runtime>
  -      </properties>
  -    </dependency>
  -
  -    <dependency>
  -      <id>xdoclet+jmx-module</id>
  -      <version>1.2b2</version>
  -      <properties>
  -        <runtime>false</runtime>
  -      </properties>
  -    </dependency>
  -
  -    <dependency>
  -      <id>xdoclet+xjavadoc</id>
  -      <version>1.2b2</version>
  -      <properties>
  -        <runtime>false</runtime>
  -      </properties>
  -    </dependency>
   
       <dependency>
         <id>mx4j</id>
  
  
  
  1.3       +5 -5      incubator-geronimo/modules/clustering/src/deploy/clustering-service.xml
  
  Index: clustering-service.xml
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/clustering/src/deploy/clustering-service.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- clustering-service.xml	29 Dec 2003 18:50:11 -0000	1.2
  +++ clustering-service.xml	30 Dec 2003 21:16:03 -0000	1.3
  @@ -17,31 +17,31 @@
     <!-- ============================================================ -->
   
     <mbean
  -    code="org.apache.geronimo.clustering.LocalCluster"
  +    descriptor="org.apache.geronimo.clustering.LocalCluster"
       name="geronimo.clustering:role=Cluster,name=GERONIMO,node=0"
       >
     </mbean>
   
     <mbean
  -    code="org.apache.geronimo.clustering.LocalCluster"
  +    descriptor="org.apache.geronimo.clustering.LocalCluster"
       name="geronimo.clustering:role=Cluster,name=GERONIMO,node=1"
       >
     </mbean>
   
     <mbean
  -    code="org.apache.geronimo.clustering.LocalCluster"
  +    descriptor="org.apache.geronimo.clustering.LocalCluster"
       name="geronimo.clustering:role=Cluster,name=GERONIMO,node=2"
       >
     </mbean>
   
     <mbean
  -    code="org.apache.geronimo.clustering.LocalCluster"
  +    descriptor="org.apache.geronimo.clustering.LocalCluster"
       name="geronimo.clustering:role=Cluster,name=GERONIMO2,node=0"
       >
     </mbean>
   
     <mbean
  -    code="org.apache.geronimo.clustering.LocalCluster"
  +    descriptor="org.apache.geronimo.clustering.LocalCluster"
       name="geronimo.clustering:role=Cluster,name=GERONIMO2,node=1"
       >
     </mbean>
  
  
  
  1.4       +59 -43    incubator-geronimo/modules/clustering/src/java/org/apache/geronimo/clustering/AbstractCluster.java
  
  Index: AbstractCluster.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/clustering/src/java/org/apache/geronimo/clustering/AbstractCluster.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AbstractCluster.java	29 Dec 2003 18:50:11 -0000	1.3
  +++ AbstractCluster.java	30 Dec 2003 21:16:03 -0000	1.4
  @@ -56,10 +56,13 @@
   package org.apache.geronimo.clustering;
   
   import javax.management.ObjectName;
  +
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  -import org.apache.geronimo.core.service.AbstractManagedComponent;
  -import org.apache.geronimo.core.service.ManagedComponent;
  +import org.apache.geronimo.kernel.service.GeronimoAttributeInfo;
  +import org.apache.geronimo.kernel.service.GeronimoMBeanContext;
  +import org.apache.geronimo.kernel.service.GeronimoMBeanInfo;
  +import org.apache.geronimo.kernel.service.GeronimoMBeanTarget;
   
   /**
    * AbstractCluster abstracts code common to different 'Cluster' impls
  @@ -67,47 +70,60 @@
    *
    *
    * @version $Revision$ $Date$
  - * @jmx:mbean extends="org.apache.geronimo.clustering.Cluster, org.apache.geronimo.kernel.management.StateManageable"
    */
  -public abstract class
  -  AbstractCluster
  -  extends AbstractManagedComponent
  -  implements Cluster, AbstractClusterMBean
  -{
  -  protected static  Log _log=LogFactory.getLog(AbstractCluster.class);
  -
  -  //----------------------------------------
  -  /**
  -   * @jmx.managed-attribute
  -   */
  -  public String
  -    getName()
  -    {
  -      String name=objectName.getKeyProperty("name");
  -
  -      if (name==null)
  -      {
  -	name="GERONIMO";
  -	_log.warn("MBean name should contain 'name' property - defaulting to: "+name);
  -      }
  -
  -      return name;
  -    }
  -
  -  /**
  -   * @jmx.managed-attribute
  -   */
  -  public String
  -    getNode()
  -    {
  -      String node=objectName.getKeyProperty("node");
  -
  -      if (node==null)
  -      {
  -	node="0";
  -	_log.warn("MBean name should contain 'node' property - defaulting to: "+node);
  -      }
  +public abstract class AbstractCluster implements Cluster, GeronimoMBeanTarget {
  +    protected static Log _log = LogFactory.getLog(AbstractCluster.class);
  +    private ObjectName objectName;
  +
  +    public String getName() {
  +        String name = objectName.getKeyProperty("name");
  +
  +        if (name == null) {
  +            name = "GERONIMO";
  +            _log.warn("MBean name should contain 'name' property - defaulting to: " + name);
  +        }
  +
  +        return name;
  +    }
  +
  +    public String getNode() {
  +        String node = objectName.getKeyProperty("node");
  +
  +        if (node == null) {
  +            node = "0";
  +            _log.warn("MBean name should contain 'node' property - defaulting to: " + node);
  +        }
  +
  +        return node;
  +    }
  +
  +    public void setMBeanContext(GeronimoMBeanContext context) {
  +        objectName = (context == null)? null:context.getObjectName();
  +    }
  +
  +    public boolean canStart() {
  +        return true;
  +    }
  +
  +    public void doStart() {
  +    }
  +
  +    public boolean canStop() {
  +        return true;
  +    }
  +
  +    public void doStop() {
  +    }
  +
  +    public void doFail() {
  +    }
  +
  +    public static GeronimoMBeanInfo getGeronimoMBeanInfo() {
  +        GeronimoMBeanInfo mbeanInfo = new GeronimoMBeanInfo();
  +        //set target class in concrete subclass
  +        mbeanInfo.addAttributeInfo(new GeronimoAttributeInfo("Name", true, false, "Name of cluster we are a part of"));
  +        mbeanInfo.addAttributeInfo(new GeronimoAttributeInfo("Node", true, false, "Node id within the cluster"));
  +        return mbeanInfo;
   
  -      return node;
       }
   }
  
  
  
  1.3       +2 -5      incubator-geronimo/modules/clustering/src/java/org/apache/geronimo/clustering/Cluster.java
  
  Index: Cluster.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/clustering/src/java/org/apache/geronimo/clustering/Cluster.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Cluster.java	28 Dec 2003 19:12:51 -0000	1.2
  +++ Cluster.java	30 Dec 2003 21:16:03 -0000	1.3
  @@ -64,9 +64,6 @@
    *
    * @version $Revision$ $Date$
    */
  -public interface
  -  Cluster
  -  extends ManagedComponent
  -{
  +public interface Cluster {
     public String getName();
   }
  
  
  
  1.6       +85 -94    incubator-geronimo/modules/clustering/src/java/org/apache/geronimo/clustering/LocalCluster.java
  
  Index: LocalCluster.java
  ===================================================================
  RCS file: /home/cvs/incubator-geronimo/modules/clustering/src/java/org/apache/geronimo/clustering/LocalCluster.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- LocalCluster.java	30 Dec 2003 15:32:20 -0000	1.5
  +++ LocalCluster.java	30 Dec 2003 21:16:03 -0000	1.6
  @@ -55,107 +55,98 @@
    */
   package org.apache.geronimo.clustering;
   
  +import java.util.List;
  +
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  -
  -import java.util.Vector;
  -import java.util.List;
  -import java.util.Collections;
  +import org.apache.geronimo.kernel.service.GeronimoAttributeInfo;
  +import org.apache.geronimo.kernel.service.GeronimoMBeanInfo;
   
   /**
    * An initial Cluster impl, which only clusters within a single
    * VM. Thus development on Clustering can start before an inter-vm
    * transport layer has been put in place...
    *
  - * @jmx:mbean extends="org.apache.geronimo.clustering.AbstractClusterMBean"
    * @version $Revision$ $Date$
    */
  -public class
  -  LocalCluster
  -  extends AbstractCluster
  -  implements LocalClusterMBean, MetaDataListener, DataListener, DataDeltaListener
  -{
  -  protected Log _log=LogFactory.getLog(LocalCluster.class);
  -
  -  // LocalCluster
  -
  -  protected LocalChannel _channel;
  -
  -  /**
  -   * @jmx.managed-attribute
  -   */
  -  public List getMembers(){return _channel.getMembers();}
  -
  -  public void join()  {_channel.join(this);}
  -  public void leave() {_channel.leave(this);}
  -
  -  // StateManageable
  -  public boolean canStart() {return true;}
  -  public boolean canStop()  {return true;}
  -
  -  public void
  -    doStart()
  -  {
  -    _log=LogFactory.getLog(getClass().getName()+"#"+getName()+"/"+getNode());
  -    _log.info("starting");
  -    _channel=LocalChannel.find(getName());
  -    synchronized (_channel)
  -    {
  -      setData(_channel.getData());
  -      join();
  -    }
  -  }
  -
  -  public void
  -    doStop()
  -  {
  -    _log.info("stopping");
  -    leave();
  -  }
  -
  -  public void
  -    doFail()
  -  {
  -    _log.info("failing");
  -    leave();			// ??
  -  }
  -
  -  // MetaDataListener
  -  public void
  -    setMetaData(List members)
  -  {
  -    _log.info("membership changed: "+members);
  -  }
  -
  -  // DataListener
  -  protected Data _data;
  -
  -  // TODO - should probably return byte[] - needs renaming
  -  public Data getData() {return _data;}
  -
  -  // TODO - should probably expect byte[] - needs renaming
  -  public void
  -    setData(Data data)
  -  {
  -    String xtra="we must be the first node up";
  -
  -    if (data!=null)
  -    {
  -      xtra="we are joining an extant cluster";
  -      _data=data;
  -    }
  -    else
  -    {
  -      _data=new Data();
  -    }
  -
  -    _log.debug("initialising data - "+xtra);
  -  }
  -
  -  // DataDeltaListener
  -  public void
  -    applyDataDelta(DataDelta delta)
  -  {
  -    _log.trace("applying data delta - "+delta);
  -  }
  +public class LocalCluster
  +        extends AbstractCluster
  +        implements MetaDataListener, DataListener, DataDeltaListener {
  +    protected Log log = LogFactory.getLog(LocalCluster.class);
  +
  +    // LocalCluster
  +
  +    protected LocalChannel channel;
  +
  +    public List getMembers() {
  +        return channel.getMembers();
  +    }
  +
  +    public void join() {
  +        channel.join(this);
  +    }
  +
  +    public void leave() {
  +        channel.leave(this);
  +    }
  +
  +    public void doStart() {
  +        log = LogFactory.getLog(getClass().getName() + "#" + getName() + "/" + getNode());
  +        log.info("starting");
  +        channel = LocalChannel.find(getName());
  +        synchronized (channel) {
  +            setData(channel.getData());
  +            join();
  +        }
  +    }
  +
  +    public void doStop() {
  +        log.info("stopping");
  +        leave();
  +    }
  +
  +    public void doFail() {
  +        log.info("failing");
  +        leave();			// ??
  +    }
  +
  +    // MetaDataListener
  +    public void setMetaData(List members) {
  +        log.info("membership changed: " + members);
  +    }
  +
  +    // DataListener
  +    protected Data _data;
  +
  +    // TODO - should probably return byte[] - needs renaming
  +    public Data getData() {
  +        return _data;
  +    }
  +
  +    // TODO - should probably expect byte[] - needs renaming
  +    public void
  +            setData(Data data) {
  +        String xtra = "we must be the first node up";
  +
  +        if (data != null) {
  +            xtra = "we are joining an extant cluster";
  +            _data = data;
  +        } else {
  +            _data = new Data();
  +        }
  +
  +        log.debug("initialising data - " + xtra);
  +    }
  +
  +    // DataDeltaListener
  +    public void applyDataDelta(DataDelta delta) {
  +        log.trace("applying data delta - " + delta);
  +    }
  +
  +    public static GeronimoMBeanInfo getGeronimoMBeanInfo() {
  +        GeronimoMBeanInfo mbeanInfo = AbstractCluster.getGeronimoMBeanInfo();
  +        mbeanInfo.setTargetClass(LocalCluster.class);
  +        mbeanInfo.addAttributeInfo(new GeronimoAttributeInfo("Members", true, false, "List of cluster members"));
  +        return mbeanInfo;
  +    }
   }