Author: kfujino Date: Mon Dec 15 08:25:42 2014 New Revision: 1645595 URL: http://svn.apache.org/r1645595 Log: In order to enable define in Cluster element, ClusterSingleSignOn implements ClusterValve.
Modified: tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java Modified: tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java?rev=1645595&r1=1645594&r2=1645595&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java (original) +++ tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java Mon Dec 15 08:25:42 2014 @@ -21,9 +21,7 @@ package org.apache.catalina.ha.authentic import java.security.Principal; -import org.apache.catalina.Cluster; import org.apache.catalina.Container; -import org.apache.catalina.Engine; import org.apache.catalina.Host; import org.apache.catalina.LifecycleException; import org.apache.catalina.Manager; @@ -31,6 +29,7 @@ import org.apache.catalina.Session; import org.apache.catalina.authenticator.SingleSignOn; import org.apache.catalina.ha.CatalinaCluster; import org.apache.catalina.ha.ClusterManager; +import org.apache.catalina.ha.ClusterValve; import org.apache.catalina.ha.session.SerializablePrincipal; import org.apache.catalina.realm.GenericPrincipal; import org.apache.tomcat.util.ExceptionUtils; @@ -56,7 +55,7 @@ import org.apache.tomcat.util.ExceptionU * * @author Fabien Carrion */ -public class ClusterSingleSignOn extends SingleSignOn { +public class ClusterSingleSignOn extends SingleSignOn implements ClusterValve { // ----------------------------------------------------- Instance Variables @@ -68,7 +67,9 @@ public class ClusterSingleSignOn extends // ------------------------------------------------------------- Properties private CatalinaCluster cluster = null; + @Override public CatalinaCluster getCluster() { return cluster; } + @Override public void setCluster(CatalinaCluster cluster) { this.cluster = cluster; } @@ -91,33 +92,19 @@ public class ClusterSingleSignOn extends // Load the cluster component, if any try { - //the channel is already running - Cluster cluster = getCluster(); - // stop remove cluster binding if(cluster == null) { Container host = getContainer(); if(host instanceof Host) { - cluster = host.getCluster(); - if(cluster instanceof CatalinaCluster) { - setCluster((CatalinaCluster) cluster); - getCluster().addClusterListener(clusterSSOListener); - } else { - Container engine = host.getParent(); - if(engine instanceof Engine) { - cluster = engine.getCluster(); - if(cluster instanceof CatalinaCluster) { - setCluster((CatalinaCluster) cluster); - getCluster().addClusterListener(clusterSSOListener); - } - } else { - cluster = null; - } + if(host.getCluster() instanceof CatalinaCluster) { + setCluster((CatalinaCluster) host.getCluster()); } } } if (cluster == null) { throw new LifecycleException( "There is no Cluster for ClusterSingleSignOn"); + } else { + getCluster().addClusterListener(clusterSSOListener); } } catch (Throwable t) { ExceptionUtils.handleThrowable(t); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org