有没有办法在我插入事实(POJO)时(或每当我触发所有规则时)找出匹配(触发)的规则。 我需要弄清楚哪些事实都没有被触发,以及每个事实对于某些可视化活动触发了哪些规则。
答案 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
,但您也可以在插入事实的应用程序代码中执行此操作。
我想你可以想象其余的:将这些信息存储在地图中并进行评估是一个简单的练习。