[rules-users] Events are not automatically expiring from working memory

richarda richard.ambridge at gmail.com
Fri Oct 30 11:20:27 EDT 2009


I wanted to post something I found in case others are scratching their heads
on this.

Drools Fusion user guide indicates:

2.8.2. Inferred expiration offset
Another way for the engine to calculate the expiration offset for a given
event is implicitly, by analyzing the temporal constraints in the rules.


So I needed to check that my rules were working correctly, so I setup some
temporal rules and after adding some events and firing the rules, I put my
code into a loop:
while (true) {
	Thread.sleep(10000);
	for (FactHandle h : ksession.getFactHandles()) {
		System.out.println("      :" + h.toString());
	}
}

To hope to find that there were no Events left in working memory after all
the time periods have passed.

but they were always showing as still in memory..

After spending ages trying to understand my rules, I found that the Events
are not expired until the next call of  ksession.fireAllRules()
which makes sense..

Perhaps that should be added to the manual?

Cheers
Ric
-- 
View this message in context: http://old.nabble.com/Events-are-not-automatically-expiring-from-working-memory-tp26131877p26131877.html
Sent from the drools - user mailing list archive at Nabble.com.




More information about the rules-users mailing list