Hi,
My J2EE application uses DROOLS 3.0.6 libraries for rules and runs on SUN JES 2005 Q4
server.
I am getting the exception :
Caused by: java.security.AccessControlException: access denied
(java.lang.RuntimePermission createClassLoader)
Currently I have granted RunTimePermission for "createClassLoader" in the
global area (i.e for all jars) of server.policy and the application works fine.
But I want to specify the permissions for "only" drools and the dependent
jars.
Please let me know the list of jars which requires createClassLoader - RunTimePermission
.
The complete stack trace is given below:
Regards
Smitha
--------------------------------------------------------------------------------------------------------------
(java.lang.RuntimePermission createClassLoader)
at com.abc.rules.jboss.DroolsContainer.buildRuleBase(DroolsContainer.java:217)
at com.abc.rules.jboss.DroolsContainer.init(DroolsContainer.java:91)
at com.abc.rules.EnvironmentManager.initContainer(EnvironmentManager.java:252)
at com.abc.rules.EnvironmentManager.init(EnvironmentManager.java:158)
at com.abc.rules.PDMImpl.ejbCreate(PDMImpl.java:224)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.sun.ejb.containers.StatelessSessionContainer.createStatelessEJB(StatelessSessionContainer.java:4
10)
at
com.sun.ejb.containers.StatelessSessionContainer.access$100(StatelessSessionContainer.java:75)
at
com.sun.ejb.containers.StatelessSessionContainer$SessionContextFactory.create(StatelessSessionContai
ner.java:597)
at com.sun.ejb.containers.util.pool.NonBlockingPool.getObject(NonBlockingPool.java:168)
at
com.sun.ejb.containers.StatelessSessionContainer._getContext(StatelessSessionContainer.java:359)
at com.sun.ejb.containers.BaseContainer.getContext(BaseContainer.java:1072)
at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:772)
at
com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:1
26)
at com.abc.sms.SendSmsImpl.sendSms(SendSmsImpl.java:654)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.enterprise.security.SecurityUtil$2.run(SecurityUtil.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at
com.sun.enterprise.security.application.EJBSecurityManager.doAsPrivileged(EJBSecurityManager.java:95
0)
at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:158)
at
com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:116)
at $Proxy34.sendSms(Unknown Source)
at
com.sun.enterprise.webservice.EjbWebServiceDispatcher.handlePost(EjbWebServiceDispatcher.java:140)
at
com.sun.enterprise.webservice.EjbWebServiceDispatcher.invoke(EjbWebServiceDispatcher.java:79)
at
com.sun.enterprise.webservice.EjbWebServiceValve.dispatchToEjbEndpoint(EjbWebServiceValve.java:187)
at com.sun.enterprise.webservice.EjbWebServiceValve.invoke(EjbWebServiceValve.java:131)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:542)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
at
com.sun.enterprise.web.connector.httpservice.HttpServiceProcessor.process(HttpServiceProcessor.java:
226)
at
com.sun.enterprise.web.HttpServiceWebContainer.service(HttpServiceWebContainer.java:2071)
Caused by: java.security.AccessControlException: access denied
(java.lang.RuntimePermission
createClassLoader)
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.SecurityManager.checkCreateClassLoader(SecurityManager.java:594)
at java.lang.ClassLoader.<init>(ClassLoader.java:201)
at org.drools.rule.PackageCompilationData$PackageClassLoader.<init>(Unknown
Source)
at org.drools.rule.PackageCompilationData.init(Unknown Source)
at org.drools.rule.PackageCompilationData.<init>(Unknown Source)
at org.drools.rule.Package.<init>(Unknown Source)
at org.drools.compiler.PackageBuilder.newPackage(Unknown Source)
at org.drools.compiler.PackageBuilder.addPackage(Unknown Source)
at org.drools.compiler.PackageBuilder.addPackageFromDrl(Unknown Source)
at com.abc.rules.jboss.DroolsContainer.buildRuleBase(DroolsContainer.java:204)
... 41 more
---------------------------------
Building a website is a piece of cake.
Yahoo! Small Business gives you all the tools to get online.
Show replies by date