On 17/01/2011 19:25, Paul Browne wrote:
Folks,
A little bit later than expected (!) I've managed to get Drools
running within Google App Engine.
I thought App Engine wouldn't work with
runtime generated bytecode and
had classloader restrictions?
Mark
A list of the changes that I made to the Drools Core and Drools Util
code are below. A lot of these changes are NullPointer checks when
reading properties from a file (i.e. things that you might want in the
codebase anyway).
Notes on the sample I used to try this out are at
http://code.google.com/p/red-piranha/wiki/ModifyDroolsRunInGoogleAppEngine
The sample (for the moment) is running a pre-built KnowledgeBase
within GAE (i.e. no rule compilation, nor any of the advanced features).
What is the best way of submitting the actual code changes for review
and possible inclusion as part of the Drools source code?
A patch against trunk
attached to a jira should suffice, don't forget
we've moved to GIT.
Mark
Thanks
Paul
*Drools Core *
AbstractRuleBase.java// line 265 surrounded by try / catch
this.config= (RuleBaseConfiguration) droolsStream.readObject();
RuleBaseConfiguration.java// - line 985 surround by try / catch
this.classLoader= ClassLoaderUtil.getClassLoader
RuleBaseConfiguration.java// line 395 surround by try / catch
this.chainedProperties= new ChainedProperties( "rulebase.conf",
RuleBaseConfiguration.java// line 457 surround by try / catch, default Conflict
Resolver
setConflictResolver( determineConflictResolver(
this.chainedProperties.getProperty( "drools.conflictResolver",
*Drools Util *
ChainedProperties.java// line 98 - exception check around
ClassLoader.getSystemClassLoader();
ChainedProperties.java// line 125 - exception check around
ClassLoader.getSystemClassLoader();
ChainedProperties.java// line 160
- null checkfor properties/keyand return default
ChainedProperties.java// line 240 - surround by try / catch for
securityaccessexception
if ( file!= null && file.exists() ) {
ChainedProperties.java// line 270 - surround by try / catch for
securityaccessexception
if ( file!= null && file.exists() ) {
ClassFieldInspector.java// line 166 -
return "/" + clazz.getCanonicalName() + ".class";
ClassLoaderUtil.java// line 25 - surround by try / catch for securityaccessexception
ClassLoader systemClassLoader=
_______________________________________________
rules-dev mailing list
rules-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev