Hi,

I'm having an issue with the following rule NOT evaluating properly when fired from a rulebase/package built on a web container vs. directly in something like eclipse:

rule "Test Rule"
 no-loop true
when
 Customer( $name : name, $city : city )
 Customer( ($name == "john" || $city == "la") )
then
 System.out.println("you qualified");
end


For some reason when I run this rule on a standalone test class (with name set to "john") it seems to fire and i get the "you qualified" printed out. But the same exact rule, which I have configured to be accessable to fire from within my web application does fire, but will not evaluate to true. I have the same exact code building the package in both situations, same jars and same Customer fact being asserted into session. The only difference I can tell so far is classloaders that was used to load the standalone vs the webapp PackageBuilder config.

From standalone (run from eclipse), I have the following:

PackageBuilderConfiguration
  - Compiler set to: 1 (JANINO)
  - JavaLanguage set to: 1.4
  - classloader: sun.misc.Launcher$AppClassLoader

From webapp, I have the following for config;

  - Compiler set to: 1 (JANINO)
  - JavaLanguage set to: 1.4
  - classloader: WebappClassLoader
  delegate: false
  repositories:
    /WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@10045eb

I'm running Tomcat 5.52 on JVM1.5.0_11-b03

I've tried searching everywhere and can't seem to figure out what's going on. My only guess is maybe I have some extra jar loaded in my web container or maybe they are loaded in the wrong order. Any pointers would be great - been at this for the whole day.

Thanks for your time,
Thong