Please don't email me direct. I won't reply in the future. All questions and answers are of value to the community as a whole.
To quote what I replied to an almost identical request a couple of days ago and posted to the drools-user mailing list.....
"AFAIK, Activation Cancelled events would trigger in reaction to the revocation of a logically inserted fact that caused an activation to trigger in the first place. It would not help identifying which pattern in a rule was not matched causing your rule not to activate".
On 4 November 2010 14:41,
<nkumar@objectwave.com> wrote:
Hi, thanks for helping me out with that code. i have one more question, in activation cancelled event, it never gets executed.
@Override
public void activationCancelled(ActivationCancelledEvent event) {
final Rule rule = event.getActivation().getRule();
final String ruleName = rule.getName();
System.out.println("Activation cancelled --> " + ruleName);
rules.add(rule);
ruleNames.add(ruleName);
}
@Override
public void activationCreated(ActivationCreatedEvent event) {
final Rule rule = event.getActivation().getRule();
final String ruleName = rule.getName();
System.out.println("Activation created --> " + ruleName);
rules.remove(rule);
ruleNames.remove(ruleName);
}
but my output never show this. i only have Activation created printed in console. which rule is not executed, that is not printing at the time when it is not activated. Please have a look on this. My output is
Rules not executed
- GoodBye-rule
- Hello World-rule
- Never fires
Activation created --> Hello World-rule
Hello World
Activation created --> GoodBye-rule
Goodbye cruel world
Rules not executed
- Never fires
this is the same code which you sent me. Never fires is the rule which never gets executed. we print this from the list of rules we have when we load the rule file. even if i skip that activation canceled it prints the same result.
thanks