[jboss-remoting-commits] JBoss Remoting SVN: r3698 - remoting2/branches/2.x/src/main/org/jboss/remoting.
jboss-remoting-commits at lists.jboss.org
jboss-remoting-commits at lists.jboss.org
Thu Mar 20 21:31:14 EDT 2008
Author: ron.sigal at jboss.com
Date: 2008-03-20 21:31:14 -0400 (Thu, 20 Mar 2008)
New Revision: 3698
Modified:
remoting2/branches/2.x/src/main/org/jboss/remoting/MicroRemoteClientInvoker.java
Log:
JBREM-934: Put classloader creation in AccessController.doPrivileged() call.
Modified: remoting2/branches/2.x/src/main/org/jboss/remoting/MicroRemoteClientInvoker.java
===================================================================
--- remoting2/branches/2.x/src/main/org/jboss/remoting/MicroRemoteClientInvoker.java 2008-03-21 01:30:05 UTC (rev 3697)
+++ remoting2/branches/2.x/src/main/org/jboss/remoting/MicroRemoteClientInvoker.java 2008-03-21 01:31:14 UTC (rev 3698)
@@ -12,6 +12,10 @@
import org.jboss.util.id.GUID;
import java.io.IOException;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -116,7 +120,7 @@
// class loader. This allows to load remoting classes as well as user's
// classes. If possible, will simply reset context classloader on existing
// RemotingClassLoader.
- ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
+ final ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
if (unmarshaller instanceof UpdateableClassloaderUnMarshaller)
{
UpdateableClassloaderUnMarshaller uclum = (UpdateableClassloaderUnMarshaller) unmarshaller;
@@ -128,13 +132,26 @@
}
else
{
- rcl = new RemotingClassLoader(getClassLoader(), contextClassLoader);
+ rcl = (RemotingClassLoader)AccessController.doPrivileged( new PrivilegedAction()
+ {
+ public Object run()
+ {
+ return new RemotingClassLoader(getClassLoader(), contextClassLoader);
+ }
+ });
+
unmarshaller.setClassLoader(rcl);
}
}
else
{
- rcl = new RemotingClassLoader(getClassLoader(), contextClassLoader);
+ rcl = (RemotingClassLoader)AccessController.doPrivileged( new PrivilegedAction()
+ {
+ public Object run()
+ {
+ return new RemotingClassLoader(getClassLoader(), contextClassLoader);
+ }
+ });
unmarshaller.setClassLoader(rcl);
}
}
More information about the jboss-remoting-commits
mailing list