Remove some more unnecessary code
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Sat, 9 Jul 2011 16:05:42 +0000 (16:05 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Sat, 9 Jul 2011 16:05:42 +0000 (16:05 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1144690 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/startup/Catalina.java
java/org/apache/catalina/startup/ClusterRuleSetFactory.java [deleted file]
webapps/docs/changelog.xml

index 069ba4e..4e7e814 100644 (file)
@@ -36,6 +36,7 @@ import org.apache.catalina.LifecycleException;
 import org.apache.catalina.LifecycleState;
 import org.apache.catalina.Server;
 import org.apache.catalina.core.StandardServer;
+import org.apache.catalina.ha.ClusterRuleSet;
 import org.apache.catalina.security.SecurityConfig;
 import org.apache.juli.ClassLoaderLogManager;
 import org.apache.tomcat.util.ExceptionUtils;
@@ -373,13 +374,13 @@ public class Catalina {
         digester.addRuleSet(new EngineRuleSet("Server/Service/"));
         digester.addRuleSet(new HostRuleSet("Server/Service/Engine/"));
         digester.addRuleSet(new ContextRuleSet("Server/Service/Engine/Host/"));
-        digester.addRuleSet(ClusterRuleSetFactory.getClusterRuleSet("Server/Service/Engine/Host/Cluster/"));
+        digester.addRuleSet(new ClusterRuleSet("Server/Service/Engine/Host/Cluster/"));
         digester.addRuleSet(new NamingRuleSet("Server/Service/Engine/Host/Context/"));
 
         // When the 'engine' is found, set the parentClassLoader.
         digester.addRule("Server/Service/Engine",
                          new SetParentClassLoaderRule(parentClassLoader));
-        digester.addRuleSet(ClusterRuleSetFactory.getClusterRuleSet("Server/Service/Engine/Cluster/"));
+        digester.addRuleSet(new ClusterRuleSet("Server/Service/Engine/Cluster/"));
 
         long t2=System.currentTimeMillis();
         if (log.isDebugEnabled())
diff --git a/java/org/apache/catalina/startup/ClusterRuleSetFactory.java b/java/org/apache/catalina/startup/ClusterRuleSetFactory.java
deleted file mode 100644 (file)
index 542ca7f..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package org.apache.catalina.startup;
-
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-
-import org.apache.juli.logging.Log;
-import org.apache.juli.logging.LogFactory;
-import org.apache.tomcat.util.digester.Digester;
-import org.apache.tomcat.util.digester.RuleSetBase;
-public class ClusterRuleSetFactory {
-    
-    public static final Log log = LogFactory.getLog(ClusterRuleSetFactory.class);
-    
-    public static RuleSetBase getClusterRuleSet(String prefix) {
-        
-        //OLD CLUSTER 1
-        //first try the same classloader as this class server/lib
-        try {
-            return loadRuleSet(prefix,"org.apache.catalina.cluster.ClusterRuleSet",ClusterRuleSetFactory.class.getClassLoader());
-        } catch ( Exception x ) {
-            //display warning
-            if ( log.isDebugEnabled() ) log.debug("Unable to load ClusterRuleSet (org.apache.catalina.cluster.ClusterRuleSet), falling back on context classloader");
-        }
-        //try to load it from the context class loader
-        try {
-            return loadRuleSet(prefix,"org.apache.catalina.cluster.ClusterRuleSet",Thread.currentThread().getContextClassLoader());
-        } catch ( Exception x ) {
-            //display warning
-            if ( log.isDebugEnabled() ) log.debug("Unable to load ClusterRuleSet (org.apache.catalina.cluster.ClusterRuleSet), will try to load the HA cluster");
-        }
-        
-        //NEW CLUSTER 2
-        //first try the same classloader as this class server/lib
-        try {
-            return loadRuleSet(prefix,"org.apache.catalina.ha.ClusterRuleSet",ClusterRuleSetFactory.class.getClassLoader());
-        } catch ( Exception x ) {
-            //display warning
-            if ( log.isDebugEnabled() ) log.debug("Unable to load HA ClusterRuleSet (org.apache.catalina.ha.ClusterRuleSet), falling back on context classloader");
-        }
-        //try to load it from the context class loader
-        try {
-            return loadRuleSet(prefix,"org.apache.catalina.ha.ClusterRuleSet",Thread.currentThread().getContextClassLoader());
-        } catch ( Exception x ) {
-            //display warning
-            if ( log.isDebugEnabled() ) log.debug("Unable to load HA ClusterRuleSet (org.apache.catalina.ha.ClusterRuleSet), falling back on DefaultClusterRuleSet");
-        }
-
-        log.info("Unable to find a cluster rule set in the classpath. Will load the default rule set.");
-        return new DefaultClusterRuleSet(prefix);
-    }
-    
-    
-    protected static RuleSetBase loadRuleSet(String prefix, String className, ClassLoader cl) 
-        throws ClassNotFoundException, InstantiationException, 
-               NoSuchMethodException,IllegalAccessException,
-               InvocationTargetException {
-        Class<?> clazz = Class.forName(className,true,cl);
-        Constructor<?> cons = clazz.getConstructor(new Class[] {String.class});
-        return (RuleSetBase)cons.newInstance(prefix);
-    }
-    
-    /**
-     * <p><strong>RuleSet</strong> for processing the contents of a
-     * Cluster definition element.  </p>
-     *
-     * @author Filip Hanik
-     * @author Peter Rossbach
-     * @version $Id$
-     */
-
-    public static class DefaultClusterRuleSet extends RuleSetBase {
-
-
-        // ----------------------------------------------------- Instance Variables
-
-
-        /**
-         * The matching pattern prefix to use for recognizing our elements.
-         */
-        protected String prefix = null;
-
-
-        // ------------------------------------------------------------ Constructor
-
-
-        /**
-         * Construct an instance of this <code>RuleSet</code> with the default
-         * matching pattern prefix.
-         */
-        public DefaultClusterRuleSet() {
-
-            this("");
-
-        }
-
-
-        /**
-         * Construct an instance of this <code>RuleSet</code> with the specified
-         * matching pattern prefix.
-         *
-         * @param prefix Prefix for matching pattern rules (including the
-         *  trailing slash character)
-         */
-        public DefaultClusterRuleSet(String prefix) {
-            super();
-            this.namespaceURI = null;
-            this.prefix = prefix;
-        }
-
-
-        // --------------------------------------------------------- Public Methods
-
-
-        /**
-         * <p>Add the set of Rule instances defined in this RuleSet to the
-         * specified <code>Digester</code> instance, associating them with
-         * our namespace URI (if any).  This method should only be called
-         * by a Digester instance.</p>
-         *
-         * @param digester Digester instance to which the new Rule instances
-         *  should be added.
-         */
-        @Override
-        public void addRuleInstances(Digester digester) {
-            //Cluster configuration start
-            digester.addObjectCreate(prefix + "Membership",
-                                     null, // MUST be specified in the element
-                                     "className");
-            digester.addSetProperties(prefix + "Membership");
-            digester.addSetNext(prefix + "Membership",
-                                "setMembershipService",
-                                "org.apache.catalina.cluster.MembershipService");
-
-            digester.addObjectCreate(prefix + "Sender",
-                                     null, // MUST be specified in the element
-                                     "className");
-            digester.addSetProperties(prefix + "Sender");
-            digester.addSetNext(prefix + "Sender",
-                                "setClusterSender",
-                                "org.apache.catalina.cluster.ClusterSender");
-
-            digester.addObjectCreate(prefix + "Receiver",
-                                     null, // MUST be specified in the element
-                                     "className");
-            digester.addSetProperties(prefix + "Receiver");
-            digester.addSetNext(prefix + "Receiver",
-                                "setClusterReceiver",
-                                "org.apache.catalina.cluster.ClusterReceiver");
-
-            digester.addObjectCreate(prefix + "Valve",
-                                     null, // MUST be specified in the element
-                                     "className");
-            digester.addSetProperties(prefix + "Valve");
-            digester.addSetNext(prefix + "Valve",
-                                "addValve",
-                                "org.apache.catalina.Valve");
-
-            digester.addObjectCreate(prefix + "Deployer",
-                                     null, // MUST be specified in the element
-                                     "className");
-            digester.addSetProperties(prefix + "Deployer");
-            digester.addSetNext(prefix + "Deployer",
-                                "setClusterDeployer",
-                                "org.apache.catalina.cluster.ClusterDeployer");
-
-            digester.addObjectCreate(prefix + "Listener",
-                    null, // MUST be specified in the element
-                    "className");
-            digester.addSetProperties(prefix + "Listener");
-            digester.addSetNext(prefix + "Listener",
-                                "addLifecycleListener",
-                                "org.apache.catalina.LifecycleListener");
-
-            digester.addObjectCreate(prefix + "ClusterListener",
-                    null, // MUST be specified in the element
-                    "className");
-            digester.addSetProperties(prefix + "ClusterListener");
-            digester.addSetNext(prefix + "ClusterListener",
-                                "addClusterListener",
-                                "org.apache.catalina.cluster.MessageListener");
-            //Cluster configuration end
-        }
-
-
-    }
-}
index 4b791ca..d198049 100644 (file)
       </fix>
     </changelog>
   </subsection>
+  <subsection name="Cluster">
+    <changelog>
+      <update>
+        Remove unnecessary serverl.xml parsing code for old cluster
+        implementation that does not ship as part of Tomcat 7. (markt)
+      </update>
+    </changelog>
+  </subsection>
 </section>
 <section name="Tomcat 7.0.18 (markt)" rtext="TBD">
   <subsection name="Catalina">