Author: kfujino
Date: Mon Dec 15 08:30:58 2014
New Revision: 1645596
URL: http://svn.apache.org/r1645596
Log:
In order to enable define in Cluster element, ClusterSingleSignOn implements
ClusterValve.
Modified:
tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml
Modified:
tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
URL:
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java?rev=1645596&r1=1645595&r2=1645596&view=diff
==============================================================================
---
tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
(original)
+++
tomcat/tc8.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
Mon Dec 15 08:30:58 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 != null && host instanceof Host) {
- cluster = host.getCluster();
- if(cluster != null && cluster instanceof CatalinaCluster) {
- setCluster((CatalinaCluster) cluster);
- getCluster().addClusterListener(clusterSSOListener);
- } else {
- Container engine = host.getParent();
- if(engine != null && engine instanceof Engine) {
- cluster = engine.getCluster();
- if(cluster != null && cluster instanceof
CatalinaCluster) {
- setCluster((CatalinaCluster) cluster);
-
getCluster().addClusterListener(clusterSSOListener);
- }
- } else {
- cluster = null;
- }
+ if(host instanceof Host) {
+ 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);
Modified: tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml?rev=1645596&r1=1645595&r2=1645596&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Mon Dec 15 08:30:58 2014
@@ -229,6 +229,15 @@
</fix>
</changelog>
</subsection>
+ <subsection name="Cluster">
+ <changelog>
+ <fix>
+ In order to enable define in <code>Cluster</code> element,
+ <code>ClusterSingleSignOn</code> implements <code>ClusterValve</code>.
+ (kfujino)
+ </fix>
+ </changelog>
+ </subsection>
<subsection name="WebSocket">
<changelog>
<fix>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]