You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2009/07/17 13:25:39 UTC
svn commit: r795047 - in /tomcat/tc6.0.x/trunk: ./ STATUS.txt
java/org/apache/catalina/ha/session/JvmRouteBinderValve.java
java/org/apache/catalina/ha/session/LocalStrings.properties
webapps/docs/changelog.xml
Author: markt
Date: Fri Jul 17 11:25:39 2009
New Revision: 795047
URL: http://svn.apache.org/viewvc?rev=795047&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=40551
Enable the JvmRouteBinderValve to work with PersistentManagers as well as clusters
Based on a patch by Chris Chandler
Modified:
tomcat/tc6.0.x/trunk/ (props changed)
tomcat/tc6.0.x/trunk/STATUS.txt
tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java
tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties
tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
Propchange: tomcat/tc6.0.x/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jul 17 11:25:39 2009
@@ -1 +1 @@
-/tomcat/trunk:601180,606992,612607,630314,640888,652744,653247,673796,673820,683982,684001,684081,684234,684269-684270,685177,687503,687645,689402,690781,691392,691805,692748,693378,694992,695053,695311,696780,696782,698012,698227,698236,698613,699427,699634,701355,709294,709811,709816,710063,710066,710125,710205,711126,711600,712461,712467,718360,719119,719124,719602,719626,719628,720046,720069,721040,721286,721708,721886,723404,723738,726052,727303,728032,728768,728947,729057,729567,729569,729571,729681,729809,729815,729934,730250,730590,731651,732859,732863,734734,740675,740684,742677,742697,742714,744160,744238,746321,746384,746425,747834,747863,748344,750258,750291,750921,751286-751287,751289,751295,753039,757335,757774,758365,758596,758616,758664,759074,761601,762868,762929,762936-762937,763166,763183,763193,763228,763262,763298,763302,763325,763599,763611,763654,763681,763706,764985,764997,765662,768335,769979,770716,770809,770876,776921,776924,776935,776945,777464,77
7466,777576,777625,778379,778523-778524,781528,781779,782145,782791,783316,783696,783724,783756,783762,783766,783863,783934,784453,784602,784614,785381,785688,785768,785859,786468,786487,786490,786496,786667,787627,787770,787985,790405,791041,791184,791194,791243,791326,791328,791789,792740,793372,793757,793882,793981
+/tomcat/trunk:601180,606992,612607,630314,640888,652744,653247,673796,673820,683982,684001,684081,684234,684269-684270,685177,687503,687645,689402,690781,691392,691805,692748,693378,694992,695053,695311,696780,696782,698012,698227,698236,698613,699427,699634,701355,709294,709811,709816,710063,710066,710125,710205,711126,711600,712461,712467,718360,719119,719124,719602,719626,719628,720046,720069,721040,721286,721708,721886,723404,723738,726052,727303,728032,728768,728947,729057,729567,729569,729571,729681,729809,729815,729934,730250,730590,731651,732859,732863,734734,740675,740684,742677,742697,742714,744160,744238,746321,746384,746425,747834,747863,748344,750258,750291,750921,751286-751287,751289,751295,753039,757335,757774,758365,758596,758616,758664,759074,761601,762868,762929,762936-762937,763166,763183,763193,763228,763262,763298,763302,763325,763599,763611,763654,763681,763706,764985,764997,765662,768335,769979,770716,770809,770876,776921,776924,776935,776945,777464,77
7466,777576,777625,778379,778523-778524,781528,781779,782145,782791,783316,783696,783724,783756,783762,783766,783863,783934,784453,784602,784614,785381,785688,785768,785859,786468,786487,786490,786496,786667,787627,787770,787985,790405,791041,791184,791194,791243,791326,791328,791789,792740,793372,793757,793882,793981,794822,795043
Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=795047&r1=795046&r2=795047&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Fri Jul 17 11:25:39 2009
@@ -169,11 +169,3 @@
https://issues.apache.org/bugzilla/attachment.cgi?id=23973
+1: fhanik, kkolinko, markt
-1:
-
-* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=40551
- Enable the JvmRouteBinderValve to work with PersistentManagers as well as
- clusters
- http://svn.apache.org/viewvc?rev=794822&view=rev
- +1: markt, rjung
- +1: kkolinko (see my comment in STATUS file of TC 5.5)
- -1:
Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java?rev=795047&r1=795046&r2=795047&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java Fri Jul 17 11:25:39 2009
@@ -39,6 +39,7 @@
import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
import org.apache.catalina.session.ManagerBase;
+import org.apache.catalina.session.PersistentManager;
import org.apache.catalina.util.LifecycleSupport;
import org.apache.catalina.util.StringManager;
import org.apache.catalina.valves.ValveBase;
@@ -196,14 +197,18 @@
ServletException {
if (getEnabled()
- && getCluster() != null
&& request.getContext() != null
&& request.getContext().getDistributable() ) {
// valve cluster can access manager - other cluster handle turnover
// at host level - hopefully!
Manager manager = request.getContext().getManager();
- if (manager != null && manager instanceof ClusterManager
- && getCluster().getManager(((ClusterManager)manager).getName()) != null)
+
+ if (manager != null && (
+ (manager instanceof ClusterManager
+ && getCluster() != null
+ && getCluster().getManager(((ClusterManager)manager).getName()) != null)
+ ||
+ (manager instanceof PersistentManager)))
handlePossibleTurnover(request, response);
}
// Pass this request on to the next valve in our pipeline
@@ -361,9 +366,13 @@
if (catalinaSession instanceof DeltaSession)
((DeltaSession) catalinaSession).resetDeltaRequest();
changeRequestSessionID(request, response, sessionId, newSessionID);
- // now sending the change to all other clusternode!
- ClusterManager manager = (ClusterManager)catalinaSession.getManager();
- sendSessionIDClusterBackup(manager,request,sessionId, newSessionID);
+
+ if (getCluster() != null) {
+ // now sending the change to all other clusternode!
+ ClusterManager manager = (ClusterManager)catalinaSession.getManager();
+ sendSessionIDClusterBackup(manager,request,sessionId, newSessionID);
+ }
+
lifecycle.fireLifecycleEvent("After session migration", catalinaSession);
if (log.isDebugEnabled()) {
log.debug(sm.getString("jvmRoute.changeSession", sessionId,
@@ -533,13 +542,12 @@
}
}
}
- if (cluster == null) {
- throw new RuntimeException("No clustering support at container "
- + container.getName());
- }
- if (log.isInfoEnabled())
+ if (log.isInfoEnabled()) {
log.info(sm.getString("jvmRoute.valve.started"));
+ if (cluster == null)
+ log.info(sm.getString("jvmRoute.noCluster"));
+ }
}
Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties?rev=795047&r1=795046&r2=795047&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/ha/session/LocalStrings.properties Fri Jul 17 11:25:39 2009
@@ -79,6 +79,7 @@
jvmRoute.lostSession=Lost Session [{0}] at path [{1}]
jvmRoute.missingJvmRouteAttribute=No engine jvmRoute attribute configured!
jvmRoute.newSessionCookie=Setting cookie with session id [{0}] name: [{1}] path: [{2}] secure: [{3}]
+jvmRoute.noCluster=The JvmRouterBinderValve is configured, but clustering is not being used. Fail over will still work, providing a PersistentManager is used.
jvmRoute.notFoundManager=Not found Cluster DeltaManager {0} at {1}
jvmRoute.receiveMessage.sessionIDChanged=Cluster JvmRouteSessionIDBinderListener received orginal session ID [{0}] set to new id [{1}] for context path [{2}]
jvmRoute.run.already=jvmRoute SessionID receiver run already
Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=795047&r1=795046&r2=795047&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Fri Jul 17 11:25:39 2009
@@ -181,6 +181,11 @@
<subsection name="Cluster">
<changelog>
<fix>
+ <bug>40551</bug>: Enable the JvmRouteBinderValve to work with
+ PersistentManagers as well as clustering. Based on a patch by Chris
+ Chandler. (markt)
+ </fix>
+ <fix>
<bug>47389</bug>: DeltaManager doesn't do session replication if
notifySessionListenersOnReplication=false.
Patch by Keiichi Fujino. (fhanik)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org