|
I am unable to match a definstance pattern within a module
when using the JSR94 RI. Given the following JSR94 rules file: <rule-execution-set> <name>Rules</name> <description>Description</description> <code> (defclass example.AClass example.AClass
nil) (defrule do-startup => (bind ?i1 (new example.AClass)) (definstance example.AClass ?i1 static) (assert (doit))) (defmodule stuff) (defrule do-stuff (declare (auto-focus TRUE)) ?f1 <- (example.AClass (OBJECT
?i1&:(eq nil (get ?i1 field1)))) => (modify ?f1 (field1
"success"))) (defrule do-it (declare (auto-focus TRUE)) (doit) => (bind ?i1 (new example.AClass)) (modify (definstance example.AClass ?i1
static) (field1 "doit"))) </code> </rule-execution-set> and simple class: package example; public class AClass { private String field1; public String getField1() { return field1; } public void setField1(String field1) { this.field1 =
field1; } public String toString() { return field1; } } executing within a STATELESS_SESSION_TYPE session causes the
do-it rule, but not the do-stuff rule, to fire. Yet, when run as a JESS
batch file, both these rules fire. |
