jules 2003/12/28 08:10:19
Added: modules/clustering/src/java/org/apache/geronimo/clustering
LocalCluster.java Cluster.java AbstractCluster.java
modules/clustering/src/deploy clustering-service.xml
modules/clustering project.xml maven.xml LICENSE.txt
Log:
the beginnings of the clustering impl
Revision Changes Path
1.1
incubator-geronimo/modules/clustering/src/java/org/apache/geronimo/clustering/LocalCluster.java
Index: LocalCluster.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Geronimo" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* "Apache Geronimo", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* ====================================================================
*/
package org.apache.geronimo.clustering;
import javax.management.MBeanRegistration;
import javax.management.MBeanServer;
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.kernel.service.GeronimoMBeanContext;
import org.apache.geronimo.kernel.service.GeronimoMBeanTarget;
import org.apache.geronimo.core.service.AbstractManagedContainer;
import org.apache.geronimo.core.service.ManagedContainer;
/**
* @jmx:mbean extends="org.apache.geronimo.clustering.AbstractClusterMBean"
* @version $Revision: 1.1 $ $Date: 2003/12/28 16:10:18 $
*/
public class
LocalCluster
extends AbstractCluster
implements LocalClusterMBean
{
protected Log _log=LogFactory.getLog(Cluster.class);
public boolean canStart() {return true;}
public boolean canStop() {return true;}
public void setMBeanContext(GeronimoMBeanContext context) {}
public void
doStart()
{
_log=LogFactory.getLog(getClass().getName()+"#"+getName());
_log.info("starting Clustering Service");
}
public void
doStop()
{
_log.info("stopping Clustering Service");
}
public void
doFail()
{
_log.info("failing Clustering Service");
}
//----------------------------------------
/**
* @jmx.managed-operation
*/
public String test(){return getName();}
}
1.1
incubator-geronimo/modules/clustering/src/java/org/apache/geronimo/clustering/Cluster.java
Index: Cluster.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Geronimo" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* "Apache Geronimo", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* ====================================================================
*/
package org.apache.geronimo.clustering;
import javax.management.MBeanRegistration;
import javax.management.MBeanServer;
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.kernel.service.GeronimoMBeanContext;
import org.apache.geronimo.kernel.service.GeronimoMBeanTarget;
import org.apache.geronimo.core.service.AbstractManagedContainer;
import org.apache.geronimo.core.service.ManagedContainer;
import org.apache.geronimo.core.service.ManagedComponent;
//org.apache.geronimo.core.service.ManagedComponent,
org.apache.geronimo.kernel.management.StateManageable,
javax.management.MBeanRegistration"
/**
* @version $Revision: 1.1 $ $Date: 2003/12/28 16:10:18 $
*/
public interface
Cluster
extends ManagedComponent
{
public String getName();
}
1.1
incubator-geronimo/modules/clustering/src/java/org/apache/geronimo/clustering/AbstractCluster.java
Index: AbstractCluster.java
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Geronimo" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* "Apache Geronimo", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* ====================================================================
*/
package org.apache.geronimo.clustering;
import javax.management.MBeanRegistration;
import javax.management.MBeanServer;
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.kernel.service.GeronimoMBeanContext;
import org.apache.geronimo.kernel.service.GeronimoMBeanTarget;
import org.apache.geronimo.core.service.AbstractManagedContainer;
import org.apache.geronimo.core.service.ManagedContainer;
import org.apache.geronimo.core.service.ManagedComponent;
/**
* @version $Revision: 1.1 $ $Date: 2003/12/28 16:10:18 $
* @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;
}
}
1.1
incubator-geronimo/modules/clustering/src/deploy/clustering-service.xml
Index: clustering-service.xml
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<components>
<class-space name="geronimo.system:role=ClassSpace,name=System">
<codebase url="file:lib/">
<archive name="*"/>
</codebase>
<codebase url="file:../../lib/">
<archive name="geronimo-core-DEV.jar"/>
<archive name="geronimo-common-DEV.jar"/>
</codebase>
</class-space>
<!-- ============================================================ -->
<!-- Sets up the Cluster -->
<!-- ============================================================ -->
<mbean
code="org.apache.geronimo.clustering.LocalCluster"
name="geronimo.clustering:role=Cluster,name=GERONIMO"
>
</mbean>
</components>
1.1 incubator-geronimo/modules/clustering/project.xml
Index: project.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- $Revision: 1.1 $ $Date: 2003/12/28 16:10:19 $ -->
<project>
<pomVersion>3</pomVersion>
<extend>${basedir}/../../etc/project.xml</extend>
<!-- ===================== -->
<!-- Module Identification -->
<!-- ===================== -->
<name>Geronimo :: Clustering</name>
<id>geronimo-clustering</id>
<shortDescription>Geronimo Clustering Service</shortDescription>
<description>Geronimo Clustering Service</description>
<siteDirectory>/www/incubator.apache.org/projects/geronimo/clustering</siteDirectory>
<distributionDirectory>/www/incubator.apache.org/projects/geronimo/builds/clustering</distributionDirectory>
<package>org.apache.geronimo.clustering</package>
<currentVersion>DEV</currentVersion>
<!-- ============ -->
<!-- Dependencies -->
<!-- ============ -->
<dependencies>
<!-- Plugin Dependencies -->
<!-- Module Dependencies -->
<dependency>
<groupId>geronimo</groupId>
<artifactId>geronimo-tools</artifactId>
<version>DEV</version>
<properties>
<module>true</module>
</properties>
</dependency>
<dependency>
<groupId>geronimo</groupId>
<artifactId>geronimo-kernel</artifactId>
<version>DEV</version>
<properties>
<module>true</module>
</properties>
</dependency>
<dependency>
<groupId>geronimo</groupId>
<artifactId>geronimo-common</artifactId>
<version>DEV</version>
<properties>
<module>true</module>
</properties>
</dependency>
<dependency>
<groupId>geronimo</groupId>
<artifactId>geronimo-core</artifactId>
<version>DEV</version>
<properties>
<module>true</module>
</properties>
</dependency>
<dependency>
<groupId>geronimo-spec</groupId>
<artifactId>geronimo-spec-servlet</artifactId>
<version>DEV</version>
<properties>
<module>true</module>
</properties>
</dependency>
<!-- Thirdparty Dependencies -->
<dependency>
<id>commons-collections</id>
<version>2.1</version>
<properties>
<runtime>false</runtime>
</properties>
</dependency>
<dependency>
<id>commons-logging</id>
<version>1.0.3</version>
<url>http://jakarta.apache.org/commons/logging/</url>
<properties>
<runtime>false</runtime>
</properties>
</dependency>
<dependency>
<id>commons-lang</id>
<version>SNAPSHOT</version>
<url>http://jakarta.apache.org/commons/lang</url>
<properties>
<runtime>false</runtime>
</properties>
</dependency>
<dependency>
<id>concurrent</id>
<version>1.3.2</version>
<properties>
<runtime>true</runtime>
</properties>
</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>
<version>SNAPSHOT</version>
<properties>
<runtime>false</runtime>
</properties>
</dependency>
</dependencies>
<dependency>
<id>mx4j+tools</id>
<version>SNAPSHOT</version>
<properties>
<runtime>true</runtime>
</properties>
</dependency>
<!-- =================== -->
<!-- Build Specification -->
<!-- =================== -->
<build>
<unitTest>
<includes>
<include>**/*Test.java</include>
</includes>
</unitTest>
<resources>
<resource>
<directory>${basedir}/src/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
</project>
1.1 incubator-geronimo/modules/clustering/maven.xml
Index: maven.xml
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- $Revision: 1.1 $ $Date: 2003/12/28 16:10:19 $ -->
<project default="default"
xmlns:j="jelly:core"
xmlns:ant="jelly:ant"
xmlns:xdoclet="common:xdoclet"
>
<preGoal name="xdoc:jelly-transform">
<attainGoal name="html2xdoc"/>
</preGoal>
<preGoal name="java:compile">
<attainGoal name="xdoclet:jmxdoclet:compile"/>
</preGoal>
</project>
1.1 incubator-geronimo/modules/clustering/LICENSE.txt
Index: LICENSE.txt
===================================================================
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Geronimo" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact [EMAIL PROTECTED]
*
* 5. Products derived from this software may not be called "Apache",
* "Apache Geronimo", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
* ====================================================================
*/