I don't think that I can add something of value to the discussion from this
point on as my expertise concerning Drools is quite limited.
I followed Edson's advice and used ruleflow-groups instead of agenda
filters. This works like a charm and enables me to have my rules react as I
want.
From my limited point of view, it would probably make sense to stick
to what
might be a new users expectation of an agenda filter:
Drools Manual, 2.5.7.3. Agenda Filters wrote:
"Filters are optional implementations of a the filter interface which are
used to allow/or deny an activation from FIRING."
After I read this section of the manual, I was under the impression, that
the ONLY thing an agenda filter would do, was to prevent a rule from FIRING.
This would be the case if the "fire an "activation cancelled/skipped" for
the rules filtered out" fix would be implemented, as the rules filtered out
would then be treated as any other rule, apart from the fact that they do
not fire.
The other suggested solution might have it's own benefits, that I can't
judge at the moment. If the "not remove filtered out activations from the
agenda" fix should be implemented, I think that the manual should be updated
in order to inform people about the fact, that it is not only the FIRING
that is prevented by the agenda filter.
Edson Tirelli-3 wrote:
"
As it is now, a call to fireAllRules() will always remove all the
activations from the agenda, but will simply skip over the rules that do
not
match the filter. Since I don't think the semantics for the agenda filters
were ever spec'd, we need to do it in order to decide if the "fix" for
this
is to fire an "activation cancelled/skipped" for the rules filtered out or
if the "fix" is to not remove filtered out activations from the agenda.
"
--
View this message in context:
http://www.nabble.com/activationCancelled%28%29-not-being-executed--tp123...
Sent from the drools - user mailing list archive at
Nabble.com.