From 82fc1375ac223a9b4ece3003f18a7171389bbd32 Mon Sep 17 00:00:00 2001 From: markt Date: Sat, 9 Jul 2011 16:05:42 +0000 Subject: [PATCH] Remove some more unnecessary code git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1144690 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/startup/Catalina.java | 5 +- .../catalina/startup/ClusterRuleSetFactory.java | 205 --------------------- webapps/docs/changelog.xml | 8 + 3 files changed, 11 insertions(+), 207 deletions(-) delete mode 100644 java/org/apache/catalina/startup/ClusterRuleSetFactory.java diff --git a/java/org/apache/catalina/startup/Catalina.java b/java/org/apache/catalina/startup/Catalina.java index 069ba4ed5..4e7e814e6 100644 --- a/java/org/apache/catalina/startup/Catalina.java +++ b/java/org/apache/catalina/startup/Catalina.java @@ -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 index 542ca7f72..000000000 --- a/java/org/apache/catalina/startup/ClusterRuleSetFactory.java +++ /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); - } - - /** - *

RuleSet for processing the contents of a - * Cluster definition element.

- * - * @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 RuleSet with the default - * matching pattern prefix. - */ - public DefaultClusterRuleSet() { - - this(""); - - } - - - /** - * Construct an instance of this RuleSet 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 - - - /** - *

Add the set of Rule instances defined in this RuleSet to the - * specified Digester instance, associating them with - * our namespace URI (if any). This method should only be called - * by a Digester instance.

- * - * @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 - } - - - } -} diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 4b791cabe..d198049eb 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -66,6 +66,14 @@ + + + + Remove unnecessary serverl.xml parsing code for old cluster + implementation that does not ship as part of Tomcat 7. (markt) + + +
-- 2.11.0