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

Reply via email to