If we have trouble with writing a new rule or fixing a broken rule, we should first isolate this rule from others. It can be done by commenting out other rules or by extracting this rule to a new file and working there.
The Drools Eclipse plugin has the Rete Tree view. The Rete Tree view is accessible as the second tab of the DRL editor. It shows the graphical representation of the Rete network (more about it in Chapter 12, Learning about Performance). Behind the scenes, it compiles the .drl
file and so can be used to quickly check if the .drl
file is valid, and if the file is not valid, an error is displayed.
If the rule compiles, but it still isn't doing what we want, we can use a debug event listeners to see if the expected facts were inserted into the knowledge session, if the rule was actually activated, and if it was fired.
If the rule hasn't been activated, there might be an issue with the rule's conditions. In this case it helps to comment out some conditions...