This may be a bug, we are looking into it. Differential update greatly increases the complexity of our data structures, which now have to be maintained in specific order, and it can be very hard to find somewhere were we don't fix the order after an insert or an update.

Mark
On 12/05/2010 18:52, Michal Bali wrote:
Hi,

I have encountered the following problem with the latest Drools 5.1 SNAPSHOT

I've created a sample Drools project and replaced the Sample.drl with the following:
--Sample.drl--------------------------------------
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
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users