2 Replies Latest reply on Jun 5, 2007 9:42 PM by ron_sigal

    Remoting from unsigned applet - ClassLoader security excepti

      Hi,

      I need to try and get JBoss remoting (the latest version from cvs) working in an unsigned applet, as quickly as possible :)

      I first got a security exception from the code in org.jboss.remoting.Version that checks the system property for the remoting version e.g. System.getProperty(PRE_2_0_COMPATIBLE). I've hard coded(hacked) this to the values I require, that's ok for now.


      I've now come across something else though that looks a bit more involved;
      java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.jboss.remoting.InvokerRegistry.loadClientInvoker(InvokerRegistry.java:424)
      at org.jboss.remoting.InvokerRegistry.createClientInvoker(InvokerRegistry.java:324)
      at org.jboss.remoting.Client.connect(Client.java:413)
      at com.xxx.client.net.jbossremoting.JadeRemotingClient.createRemotingClient(JadeRemotingClient.java:74)
      at com.xxx.client.lobby2.LobbyApplet$1.run(LobbyApplet.java:261)
      at java.lang.Thread.run(Unknown Source)
      Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission createClassLoader)
      at java.security.AccessControlContext.checkPermission(Unknown Source)
      at java.security.AccessController.checkPermission(Unknown Source)
      at java.lang.SecurityManager.checkPermission(Unknown Source)
      at java.lang.SecurityManager.checkCreateClassLoader(Unknown Source)
      at java.lang.ClassLoader.(Unknown Source)
      at org.jboss.remoting.loading.ClassByteClassLoader.(ClassByteClassLoader.java:62)
      at org.jboss.remoting.AbstractInvoker.(AbstractInvoker.java:76)
      at org.jboss.remoting.MicroRemoteClientInvoker.(MicroRemoteClientInvoker.java:52)
      at org.jboss.remoting.RemoteClientInvoker.(RemoteClientInvoker.java:45)
      at org.jboss.remoting.transport.http.HTTPClientInvoker.(HTTPClientInvoker.java:78)
      at org.jboss.remoting.transport.http.TransportClientFactory.createClientInvoker(TransportClientFactory.java:38)
      ... 14 more


      Does anyone have any suggestions for how I might quickly get around this, or is not possible without significant work?

      Thanks in advance

      James