Author: ron.sigal(a)jboss.com
Date: 2009-05-19 16:52:23 -0400 (Tue, 19 May 2009)
New Revision: 5281
Modified:
remoting2/branches/2.2/src/main/org/jboss/remoting/serialization/impl/java/JavaSerializationManager.java
Log:
JBREM-1127: Updates ObjectInputStream classloader if RemotingClassLoader's
useCurrentThreadClassLoader variable is set to true.
Modified:
remoting2/branches/2.2/src/main/org/jboss/remoting/serialization/impl/java/JavaSerializationManager.java
===================================================================
---
remoting2/branches/2.2/src/main/org/jboss/remoting/serialization/impl/java/JavaSerializationManager.java 2009-05-19
20:51:11 UTC (rev 5280)
+++
remoting2/branches/2.2/src/main/org/jboss/remoting/serialization/impl/java/JavaSerializationManager.java 2009-05-19
20:52:23 UTC (rev 5281)
@@ -31,6 +31,7 @@
import org.jboss.logging.Logger;
import org.jboss.remoting.Version;
import org.jboss.remoting.loading.ObjectInputStreamWithClassLoader;
+import org.jboss.remoting.loading.RemotingClassLoader;
import org.jboss.remoting.serialization.SerializationManager;
import org.jboss.remoting.serialization.SerializationStreamFactory;
import org.jboss.remoting.serialization.IMarshalledValue;
@@ -204,8 +205,14 @@
Object obj = null;
if(inputStream instanceof ObjectInputStreamWithClassLoader)
{
- if(((ObjectInputStreamWithClassLoader) inputStream).getClassLoader() == null)
+ ClassLoader cl = ((ObjectInputStreamWithClassLoader)
inputStream).getClassLoader();
+ boolean useCurrentThreadClassLoader = false;
+ if (cl instanceof RemotingClassLoader)
{
+ useCurrentThreadClassLoader = ((RemotingClassLoader)
cl).isUseCurrentThreadClassLoader();
+ }
+ if(cl == null || useCurrentThreadClassLoader)
+ {
((ObjectInputStreamWithClassLoader)
inputStream).setClassLoader(customClassLoader);
}
objInputStream = (ObjectInputStream) inputStream;
Show replies by date