You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by pe...@apache.org on 2008/11/07 22:29:21 UTC
svn commit: r712274 -
/tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java
Author: pero
Date: Fri Nov 7 13:29:21 2008
New Revision: 712274
URL: http://svn.apache.org/viewvc?rev=712274&view=rev
Log:
FIX possible NPE as Engine level configuration, as context dosen't exists!
Modified:
tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java
Modified: tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java?rev=712274&r1=712273&r2=712274&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java (original)
+++ tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java Fri Nov 7 13:29:21 2008
@@ -345,24 +345,26 @@
crossContextSessions.set(new ArrayList());
}
getNext().invoke(request, response);
- Manager manager = request.getContext().getManager();
- if (manager != null && manager instanceof ClusterManager) {
- ClusterManager clusterManager = (ClusterManager) manager;
- CatalinaCluster containerCluster = (CatalinaCluster) getContainer().getCluster();
- if (containerCluster == null) {
- if (log.isWarnEnabled())
- log.warn(sm.getString("ReplicationValve.nocluster"));
- return;
+ if(context != null) {
+ Manager manager = context.getManager();
+ if (manager != null && manager instanceof ClusterManager) {
+ ClusterManager clusterManager = (ClusterManager) manager;
+ CatalinaCluster containerCluster = (CatalinaCluster) getContainer().getCluster();
+ if (containerCluster == null) {
+ if (log.isWarnEnabled())
+ log.warn(sm.getString("ReplicationValve.nocluster"));
+ return;
+ }
+ // valve cluster can access manager - other cluster handle replication
+ // at host level - hopefully!
+ if(containerCluster.getManager(clusterManager.getName()) == null)
+ return ;
+ if(containerCluster.hasMembers()) {
+ sendReplicationMessage(request, totalstart, isCrossContext, clusterManager, containerCluster);
+ } else {
+ resetReplicationRequest(request,isCrossContext);
+ }
}
- // valve cluster can access manager - other cluster handle replication
- // at host level - hopefully!
- if(containerCluster.getManager(clusterManager.getName()) == null)
- return ;
- if(containerCluster.hasMembers()) {
- sendReplicationMessage(request, totalstart, isCrossContext, clusterManager, containerCluster);
- } else {
- resetReplicationRequest(request,isCrossContext);
- }
}
} finally {
// Array must be remove: Current master request send endAccess at recycle.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org