我目前正在使用Drools 5.0编写应用程序。这个应用程序似乎运行速度有点慢,但我有一个理论为什么。此应用程序接收许多已存储在知识会话中的事实更新。引擎盖下的Drools更新功能确实可以缩回,然后插入。这个应用程序有200多条规则。当某些事实被移除时,一些规则被写入火中。当某些事实被置入知识会话中时,其他规则被写入火中。由于更新确实会收回,那么在更新过程中,插入是否会导致收回和插入相关的规则?即使知识会议中没有真正被“插入”或撤回的东西?Drools更新方法可能会导致我的问题
有一点需要注意,我将WorkingMemoryFileLogger吸引到了我的知识会议中,以更好地了解发生了什么。那是当我看到很多意外的撤回/插入规则激活创建被添加到议程中,但似乎他们不会被激活。在我看来,更新事实可能是昂贵的,尤其是基于您的事实模型,我应该谨慎使用。它是否正确?
感谢Micheal的回应。你已经证实了我的怀疑。就准确性而言,引擎似乎工作正常,但我的答案是潜在的,因为处理所有规则/事实花费的时间太长。 我对如何重构事实模型有一些想法,但是想验证我正在关注正确的问题,因为我的重构工作可能需要一段时间。 再次感谢! – loyalBrown 2009-07-27 01:40:30