我目前正在使用Drools 5.0編寫應用程序。這個應用程序似乎運行速度有點慢,但我有一個理論爲什麼。此應用程序接收許多已存儲在知識會話中的事實更新。引擎蓋下的Drools更新功能確實可以縮回,然後插入。這個應用程序有200多條規則。當某些事實被移除時,一些規則被寫入火中。當某些事實被置入知識會話中時,其他規則被寫入火中。由於更新確實會收回,那麼在更新過程中,插入是否會導致收回和插入相關的規則?即使知識會議中沒有真正被「插入」或撤回的東西?Drools更新方法可能會導致我的問題
有一點需要注意,我將WorkingMemoryFileLogger吸引到了我的知識會議中,以更好地瞭解發生了什麼。那是當我看到很多意外的撤回/插入規則激活創建被添加到議程中,但似乎他們不會被激活。在我看來,更新事實可能是昂貴的,尤其是基於您的事實模型,我應該謹慎使用。它是否正確?
感謝Micheal的迴應。你已經證實了我的懷疑。就準確性而言,引擎似乎工作正常,但我的答案是潛在的,因爲處理所有規則/事實花費的時間太長。 我對如何重構事實模型有一些想法,但是想驗證我正在關注正確的問題,因爲我的重構工作可能需要一段時間。 再次感謝! – loyalBrown 2009-07-27 01:40:30