[jboss-cvs] JBossRemoting/src/main/org/jboss/remoting ...
Ron Sigal
ron_sigal at yahoo.com
Thu Oct 11 01:24:53 EDT 2007
User: rsigal
Date: 07/10/11 01:24:53
Modified: src/main/org/jboss/remoting Tag: remoting_2_2_2_GA_CP
AbstractInvoker.java
Log:
JBREM-811: ClassLoader is created in AccessController.doPrivileged().
Revision Changes Path
No revision
No revision
1.12.4.10.14.1 +34 -3 JBossRemoting/src/main/org/jboss/remoting/AbstractInvoker.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: AbstractInvoker.java
===================================================================
RCS file: /cvsroot/jboss/JBossRemoting/src/main/org/jboss/remoting/AbstractInvoker.java,v
retrieving revision 1.12.4.10
retrieving revision 1.12.4.10.14.1
diff -u -b -r1.12.4.10 -r1.12.4.10.14.1
--- AbstractInvoker.java 17 Jan 2007 05:09:24 -0000 1.12.4.10
+++ AbstractInvoker.java 11 Oct 2007 05:24:53 -0000 1.12.4.10.14.1
@@ -37,6 +37,9 @@
import javax.net.SocketFactory;
import java.io.IOException;
import java.lang.reflect.Constructor;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
import java.util.HashMap;
import java.util.Map;
import java.util.Collection;
@@ -51,7 +54,7 @@
*
* @author <a href="mailto:jhaynie at vocalocity.net">Jeff Haynie</a>
* @author <a href="mailto:telrod at e2technologies.net">Tom Elrod</a>
- * @version $Revision: 1.12.4.10 $
+ * @version $Revision: 1.12.4.10.14.1 $
*/
public abstract class AbstractInvoker implements Invoker
{
@@ -73,7 +76,21 @@
public AbstractInvoker(InvokerLocator locator, Map configuration)
{
- this.classbyteloader = new ClassByteClassLoader(this.getClass().getClassLoader());
+ try
+ {
+ this.classbyteloader = (ClassByteClassLoader)AccessController.doPrivileged( new PrivilegedExceptionAction()
+ {
+ public Object run() throws Exception
+ {
+ return new ClassByteClassLoader(this.getClass().getClassLoader());
+ }
+ });
+ }
+ catch (PrivilegedActionException e)
+ {
+ log.error(e.toString(), e);
+ throw new RuntimeException("Can't create a ClassLoader", e);
+ }
this.locator = locator;
if (configuration != null)
@@ -218,7 +235,21 @@
*/
public synchronized void setClassLoader(ClassLoader classloader)
{
- this.classbyteloader = new ClassByteClassLoader(classloader);
+ try
+ {
+ this.classbyteloader = (ClassByteClassLoader)AccessController.doPrivileged( new PrivilegedExceptionAction()
+ {
+ public Object run() throws Exception
+ {
+ return new ClassByteClassLoader(this.getClass().getClassLoader());
+ }
+ });
+ }
+ catch (PrivilegedActionException e)
+ {
+ log.error(e.toString(), e);
+ throw new RuntimeException("Can't create a ClassLoader", e);
+ }
}
public synchronized ClassLoader getClassLoader()
More information about the jboss-cvs-commits
mailing list