Author: ron.sigal(a)jboss.com
Date: 2008-04-02 00:31:21 -0400 (Wed, 02 Apr 2008)
New Revision: 3859
Modified:
remoting2/branches/2.x/src/main/org/jboss/remoting/transport/web/WebServerInvoker.java
Log:
JBREM-934: Put Class.getClassLoader() calls in AccessController.doPrivileged() calls.
Modified:
remoting2/branches/2.x/src/main/org/jboss/remoting/transport/web/WebServerInvoker.java
===================================================================
---
remoting2/branches/2.x/src/main/org/jboss/remoting/transport/web/WebServerInvoker.java 2008-04-02
04:30:17 UTC (rev 3858)
+++
remoting2/branches/2.x/src/main/org/jboss/remoting/transport/web/WebServerInvoker.java 2008-04-02
04:31:21 UTC (rev 3859)
@@ -25,13 +25,13 @@
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.util.HashMap;
import java.util.Map;
import org.jboss.remoting.InvocationRequest;
import org.jboss.remoting.InvokerLocator;
import org.jboss.remoting.ServerInvoker;
-import org.jboss.remoting.transport.coyote.RequestMap;
-import org.jboss.remoting.transport.coyote.ResponseMap;
import org.jboss.remoting.transport.http.HTTPMetadataConstants;
import org.jboss.remoting.marshal.MarshalFactory;
import org.jboss.remoting.marshal.Marshaller;
@@ -99,7 +99,15 @@
public UnMarshaller getUnMarshaller()
{
- UnMarshaller unmarshaller = MarshalFactory.getUnMarshaller(getLocator(),
this.getClass().getClassLoader());
+ ClassLoader classLoader = (ClassLoader) AccessController.doPrivileged( new
PrivilegedAction()
+ {
+ public Object run()
+ {
+ return WebServerInvoker.class.getClassLoader();
+ }
+ });
+
+ UnMarshaller unmarshaller = MarshalFactory.getUnMarshaller(getLocator(),
classLoader);
if(unmarshaller == null)
{
unmarshaller = MarshalFactory.getUnMarshaller(getDataType(),
getSerializationType());
@@ -109,7 +117,15 @@
public Marshaller getMarshaller()
{
- Marshaller marshaller = MarshalFactory.getMarshaller(getLocator(),
this.getClass().getClassLoader());
+ ClassLoader classLoader = (ClassLoader) AccessController.doPrivileged( new
PrivilegedAction()
+ {
+ public Object run()
+ {
+ return WebServerInvoker.class.getClassLoader();
+ }
+ });
+
+ Marshaller marshaller = MarshalFactory.getMarshaller(getLocator(), classLoader);
if(marshaller == null)
{