I've got the following three rules in my DRL, but I'm seeing odd results.
rule "matchfound"
when
s : String()
then
System.out.println("got a match, string found in working memory");
end
rule "intmatchfound"
when
i : Integer()
then
System.out.println("got a match, Integer found in working memory");
end
rule "no matching rule"
when
Otherwise()
then
System.out.println("no rule applied, using otherwise rule");
end
If I assert a String, then the 'matchfound' rule fires. If I assert an Integer,
'intmatchfound' fires. If I assert an object of a different type or do not assert
anything, the rule I would expect to fire ('no matching rule') never fires. The
only way I can get it to fire is if I explicitly assert an instance of Otherwise.
I was under the impression that Drools would automatically assert it when it sees that no
other rule has fired.
Am I doing something wrong here? Did usage of Otherwise change?
____________________________________________________________________________________
Take the Internet to Go: Yahoo!Go puts the Internet in your pocket: mail, news, photos
& more.
http://mobile.yahoo.com/go?refer=1GNXIC