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@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev

_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev

Reply via email to