I've created a sample Drools project and replaced the Sample.drl
with the following:
package com.sample
import com.sample.DroolsTest.Message;
rule "Hello World"
when
forall(
Message( )
Message()
)
then
System.out.println("executed");
end
--------------------------------------------
If I run the sample application like this everything is fine -
"executed" is printed. However, if I modify the main method and insert
some additional fact just before the message fact is inserted, like
this:
--DroolsTest.java-----------------------------------
.....
ksession.insert(new Object());
ksession.insert(message);
.....
-----------------------------------------------------------
then the rule won't fire any more.
Please note that if you change the fact insertion order (first
the message then the Object) it will work as expected.
Is this a bug or am I missing something? I can file a JIRA if
needed.
Thank you!
Best regards,
Michal