查找针对每个事实触发/匹配的规则

时间:2017-04-11 07:14:17

标签: drools

有没有办法在我插入事实(POJO)时(或每当我触发所有规则时)找出匹配(触发)的规则。 我需要弄清楚哪些事实都没有被触发,以及每个事实对于某些可视化活动触发了哪些规则。

1 个答案:

答案 0 :(得分:1)

实施接口void beforeMatchFired(BeforeMatchFiredEvent event)的方法org.kie.api.event.rule.AgendaEventListener。该活动会告诉您匹配项:Match getMatch(),该匹配会告知您有关事实:List<? extends FactHandle> getFactHandles()和规则:Rule getRule()

如果您想使用另一个侦听器来跟踪插入的事实,则有org.kie.api.event.rule.DebugRuleRuntimeEventListener,但您也可以在插入事实的应用程序代码中执行此操作。

我想你可以想象其余的:将这些信息存储在地图中并进行评估是一个简单的练习。