Deserialize with the webapp classloader as the context classloader
authorfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 13 Aug 2009 23:10:40 +0000 (23:10 +0000)
committerfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 13 Aug 2009 23:10:40 +0000 (23:10 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@804057 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/ha/session/DeltaSession.java

index bb12249..3429ee0 100644 (file)
@@ -169,12 +169,12 @@ public class DeltaSession extends StandardSession implements Externalizable,Clus
             try {
                 lock();
                 ReplicationStream stream = ( (ClusterManager) getManager()).getReplicationStream(diff, offset, length);
-                getDeltaRequest().readExternal(stream);
                 ClassLoader contextLoader = Thread.currentThread().getContextClassLoader();
                 try {
                     ClassLoader[] loaders = getClassLoaders();
                     if (loaders != null && loaders.length > 0)
                         Thread.currentThread().setContextClassLoader(loaders[0]);
+                    getDeltaRequest().readExternal(stream);
                     getDeltaRequest().execute(this, ((ClusterManager)getManager()).isNotifyListenersOnReplication());
                 } finally {
                     Thread.currentThread().setContextClassLoader(contextLoader);