【发布时间】:2026-01-28 08:55:02
【问题描述】:
我希望能够以这样一种方式读取 Drools 内存,以便我可以检测到哪个条件匹配,即使该规则最终没有触发。
假设我有这个规则:
rule "MyRule"
when
FirstFact(condition == "str")
SecondFast(anotherCondition > 30)
then
...
end
如果我在内存中只插入一个对象“FirstFact”并调用fireAllRules(),则不会触发该规则。但是,我还是想追查这条规则的第一个条件是否匹配。
我知道这是一个奇怪的要求,可能需要一些时间来开发,因为它可能并不简单,但如果有办法做到这一点,我很感兴趣。
我正在考虑访问 Drools 内存并访问 Rete 树中包含的所有条件,但我不确定这是否是一个好方法甚至可能。
谢谢!
【问题讨论】:
标签: java drools rule-engine rete