I am running a modified version of drools 5.5.0 on GAE. I used the instructions from the red piranha project and applied them to version 5.5.0 instead of 5.1.1. I can use drools without any issues as long as I run GAE locally. But once my app is deployed I am getting a AccessControlException every time I want to run the rules.
Error processing rules: {0}
java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader)
at com.google.appengine.runtime.Request.process-cb8c197a61b3cb9b(Request.java)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:355)
at java.security.AccessController.checkPermission(AccessController.java:567)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.ClassLoader.getParent(ClassLoader.java:1224)
at org.drools.rule.JavaDialectRuntimeData$PackageClassLoader.loadClass(JavaDialectRuntimeData.java:581)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:174)
at org.drools.rule.JavaDialectRuntimeData$PackageClassLoader.fastFindClass(JavaDialectRuntimeData.java:613)
at org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:254)
at org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:237)
at org.drools.util.CompositeClassLoader.loadClass(CompositeClassLoader.java:88)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at org.drools.rule.JavaDialectRuntimeData.wire(JavaDialectRuntimeData.java:433)
at org.drools.rule.JavaDialectRuntimeData.reload(JavaDialectRuntimeData.java:481)
at org.drools.rule.JavaDialectRuntimeData.onBeforeExecute(JavaDialectRuntimeData.java:251)
at org.drools.rule.DialectRuntimeRegistry.onBeforeExecute(DialectRuntimeRegistry.java:138)
at org.drools.common.AbstractRuleBase.readExternal(AbstractRuleBase.java:328)
at org.drools.reteoo.ReteooRuleBase.readExternal(ReteooRuleBase.java:225)
at org.drools.impl.KnowledgeBaseImpl.readExternal(KnowledgeBaseImpl.java:116)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1857)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1816)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1394)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:395)
at AbstractRuleLoader.loadKnowledgeBase(AbstractRuleLoader.java:159)
at AbstractRuleLoader.loadRules(AbstractRuleLoader.java:40)
at RuleRunner.runStatelessRules(RuleRunner.java:48)
Is anyone running this version of drools successfully on GAE? Thanks!