[rules-users] RuntimePermission - createClassLoader

Smitha B smitha_drools at yahoo.com
Tue Aug 14 12:37:34 EDT 2007


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20070814/2cb8a4ac/attachment.html 


More information about the rules-users mailing list