我目前正在使用 Drools 5.0 编写应用程序。这个应用程序似乎运行有点慢,但我有一个理论原因。此应用程序接收许多已存储在知识会话中的事实更新。引擎盖下的 Drools 更新功能确实先回缩然后再插入。此应用程序有超过 200 条规则。当某些事实被删除时,一些规则被写入触发。当某些事实被断言到知识会话中时,其他规则被写入触发。由于更新确实会撤回,那么插入是否会在更新期间触发撤回和插入相关规则?即使没有真正“插入”或从知识会话中撤回?
需要注意的一件事是,我将 WorkingMemoryFileLogger 与我的知识会话“挂钩”,以便更好地了解正在发生的事情。那时我看到许多意想不到的撤回/插入规则激活创建被添加到议程中,但似乎它们从未被激活。在我看来,更新事实可能很昂贵,尤其是根据您的事实模型,我应该谨慎使用。它是否正确?