Author: kfujino
Date: Mon Dec 15 08:34:50 2014
New Revision: 1645597
URL: http://svn.apache.org/r1645597
Log:
In order to enable define in Cluster element, ClusterSingleSignOn implements
ClusterValve.
Modified:
tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
Modified:
tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java?rev=1645597&r1=1645596&r2=1645597&view=diff
==============================================================================
---
tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
(original)
+++
tomcat/tc7.0.x/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
Mon Dec 15 08:34:50 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;
@@ -58,7 +57,7 @@ import org.apache.tomcat.util.ExceptionU
*/
public class ClusterSingleSignOn
- extends SingleSignOn {
+ extends SingleSignOn implements ClusterValve {
// ----------------------------------------------------- Instance Variables
@@ -91,12 +90,14 @@ public class ClusterSingleSignOn
}
+ @Override
public CatalinaCluster getCluster() {
return cluster;
}
+ @Override
public void setCluster(CatalinaCluster cluster) {
this.cluster = cluster;
@@ -122,33 +123,19 @@ public class ClusterSingleSignOn
// 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/tc7.0.x/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1645597&r1=1645596&r2=1645597&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Mon Dec 15 08:34:50 2014
@@ -181,6 +181,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]