Having issues using Coherence*Web with Java security enabled?

If you are trying to run Coherence*Web with the default Java security manager enabled (as is the default on some application servers, such as Sun ONE 7), you may need to grant additional security permissions in your security policy file. If you do not, the Coherence*Web libraries will be denied permission to protected operations that they need to function correctly. This will manifest itself as a java.lang.ExceptionInInitializerError.

If you have configured your Coherence*Web Java EE application with the coherence-cluster-owned parameter set to true, you will need to grant the following permissions to the WEB-INF/lib directory of each of your web applications:

permission java.lang.RuntimePermission "getClassLoader";
permission java.lang.RuntimePermission "createClassLoader";
permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.server";
permission java.net.SocketPermission "*", "accept,connect";
permission java.io.FilePermission "coherence-cache-config.xml", "read";
permission java.io.FilePermission "${WEB-INF}/lib/coherence.jar", "read";
permission java.lang.RuntimePermission "setContextClassLoader";

Where ${WEB-INF} is the fully qualified path of the WEB-INF directory of the web application.

If you have configured your Coherence*Web Java EE application with the coherence-cluster-owned parameter set to false, you will need to grant the lib directory of your Coherence installation the following permissions:

permission java.lang.RuntimePermission "getClassLoader";
permission java.lang.RuntimePermission "createClassLoader";
permission java.lang.RuntimePermission "accessClassInPackage.sun.rmi.server";
permission java.net.SocketPermission "*", "accept,connect";
permission java.io.FilePermission "coherence-cache-config.xml", "read";
permission java.io.FilePermission "${coherence.home}/lib/coherence.jar", "read";

Where ${coherence.home} is the fully qualified path of your Coherence installation. Additionally, you will need to grant the following permission to the WEB-INF/lib directory of each of your Coherence*Web web applications:

permission java.lang.RuntimePermission "setContextClassLoader";