I was able to run drools (http://www.jboss.org/drools) on GAE.
Required libraries, that works fine:

* drools-api-5.0.1.jar
* drools-compiler-5.0.1.jar
* antlr.jar
* antlr-runtime-3.1.1.jar


Problemtic ones:
* mvel2-2.0.18.jar - At least this version is required, older ones
have compatibility issues with GAE
* core-3.4.2.v_883_R34x-unsigned.jar  - All official distributions are
signed. Unfortunatelly, eclipse certificate causes some problems on
GAE. I had to unsign this jar manually in order to use them on GAE.
* drools-core-5.0.1.jar - There are two uncompatible classes in this
library:
org.drools.util.ChainedProperties: it contains
'ClassLoader.getSystemClassLoader()', which is illegal code on GAE. It
is enough to comment all those invocation - they are unneeded.
org.drools.util.asm.ClassFieldInspector: calling method 'private
String getResourcePath(final Class< ? > clazz)' ends up with hard to
track StackOverflowError. To fix it you have to change body of this
method to 'return "/" + clazz.getCanonicalName().replace(".", "/") +
".class";'. Replacing all '.' with '/' in class names solves
everything!
I modified those classes (if you need source code, just send me an e-
mail), put them into WEB-INF/classes (to be sure that my version will
be loaded before classes from drools-core-5.0.1.jar)

And that's all.

Let me know if you have some problems with this instruction

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to