[rules-users] executing ruleflow with AgendaFilter

Kris Verlaenen Kris.Verlaenen at cs.kuleuven.be
Mon May 25 11:45:58 EDT 2009


Michal,

A ruleset node only continues if the ruleflow group is it associated
with is deactivated.  A ruleflow group is deactivated automatically if
it contains no more activations or if you deactivate it manually.  By
using an agenda filter, you are not executing the activation and thus
the activation is never removed from the ruleflow group.  Therefore, the
process will keep waiting.  This is expected behavior.  Why were you
expecting it to continue?  I guess you would need some other kind of
"filter" that not prevents the activation from firing but cancels
activations that are not accepted by the filter?

Kris

Quoting Michal Bali <michalbali at gmail.com>:

> Hi,
> If a rule is not allowed to fire by an AgendaFilter the whole
> ruleflow
> stops.
> 
> I've created a small test case (attached). It contains:
>  - one DRL file with one dummy rule that is in some ruleflow-group.
>  - one RF file with three nodes ('start', 'ruleflow group' and
> 'end')
>  - a program that starts the process, and calls fireAllRules with
> custom
> agenda filter.
> 
> Once the program is executed the ruleflow will stop inside the
> ruleflow-group. If I remove the agenda filter it works as expected
> (the
> ruleflow finishes).
> 
> Tested with Drools 5.0.1.
> 
> Is this a bug or am I missing something?
> 
> Best regards,
> Michal
> 




Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm



More information about the rules-users mailing list