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: [email protected]
For additional commands, e-mail: [email protected]