[rules-users] activationCancelled() not being executed?

Fermion henss at physik.uni-wuppertal.de
Sun Sep 21 14:45:04 EDT 2008


Hi!

It's been quite a while and we tried several other approaches but in the end
it all comes back to the old problem:

a) fact creates activation
b) fact changes to a value that does NOT fulfill the LHS of the formerly
activated rule
c) activation does NOT get cancelled
d) fact changes again to a value that DOES fulfill the LHS of the still
activated rule
e) fact creates ANOTHER activation (!)

I tested this behaviour with the test code that can be found in the test.zip
archive a few mails earlier in this thread.

IT DOES NOT DEPEND on whether one uses property change support or update() .
The only activation cancellations I'm able to get correspond to the fact,
that update first retracts the fact from the working memory and the
reinserts it afterwards (something the property change obviously does not).

But even with the retraction-cancellations of the update(), the problem
remains the same:

I have ONE fact that changes over time. Let's say all 5 seconds. If that
leads to a new activation every 5 seconds, I will quickly end up with an
enormous amount of activations for basically the same thing.

I would expect that if one gets and activation A for a value of -15°C
(example from test.zip) and the temperature value changes to -16°C creating
another activation B, that activation A would be cancelled (as its facts are
no longer existing).

I really need a way to limit the number of activations caused by the same
fact to ONE.

Sorry to bother you again with this.
-- 
View this message in context: http://www.nabble.com/activationCancelled%28%29-not-being-executed--tp12387991p19597177.html
Sent from the drools - user mailing list archive at Nabble.com.





More information about the rules-users mailing list