I have a simple RMI server that I need a Tomcat servlet to access. A very simple command-line app accesses the RMI server just fine with the following code:
registry = LocateRegistry.getRegistry (host); xxx = (XXX) registry.lookup (name); But when I move the same code into my servlet I get strange access permission exceptions. The exception traces back to a "caused by" access denied having to do with java.util.logging.LoggingPermission, which eventually leads back to some JULI code. Any ideas what's going on here? Thanks. The full stacktrace is here: (Actually, the RMI registry call is made from a thread that was launched by a servlet, but the point is that it is in Java code launched by and running under the control of Tomcat.) Exception in thread "Thread-36" java.lang.ExceptionInInitializerError at sun.rmi.transport.tcp.TCPEndpoint.<clinit>(TCPEndpoint.java:104) at java.rmi.registry.LocateRegistry.getRegistry(LocateRegistry.java:158) at java.rmi.registry.LocateRegistry.getRegistry(LocateRegistry.java:106) at java.rmi.registry.LocateRegistry.getRegistry(LocateRegistry.java:89) at gov.sensornet.rftrax.VandyPositionClient.<init>(VandyPositionClient.java:53) at gov.sensornet.rftrax.SocketHandlerThread.<init>(SocketHandlerThread.java:68) at gov.sensornet.rftrax.SocketAcceptThread.run(SocketAcceptThread.java:119) Caused by: java.security.AccessControlException: access denied (java.util.logging.LoggingPermission control) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264) at java.security.AccessController.checkPermission(AccessController.java:427) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at java.util.logging.LogManager.checkAccess(LogManager.java:927) at java.util.logging.Logger.setParent(Logger.java:1331) at org.apache.juli.ClassLoaderLogManager$2.run(ClassLoaderLogManager.java:377) at java.security.AccessController.doPrivileged(Native Method) at org.apache.juli.ClassLoaderLogManager.doSetParentLogger(ClassLoaderLogManager.java:375) at org.apache.juli.ClassLoaderLogManager.addLogger(ClassLoaderLogManager.java:120) at java.util.logging.Logger.getLogger(Logger.java:232) at sun.rmi.runtime.Log$LoggerLogFactory.createLog(Log.java:154) at sun.rmi.runtime.Log.getLog(Log.java:121) at sun.rmi.transport.Transport.<clinit>(Transport.java:43) ... 7 more Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264) at java.security.AccessController.checkPermission(AccessController.java:427) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at java.lang.Thread.setContextClassLoader(Thread.java:1306) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1572) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1557) at java.lang.Thread.run(Thread.java:595) Johnny S. Tolliver Oak Ridge National Laboratory [EMAIL PROTECTED], 865-574-1305 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]