我有一個知識庫用於執行我的數據模型驗證。 UI中的修改事件會異步發佈到單獨的線程,以更新知識庫並觸發規則。驗證錯誤會觸發錯誤對象的邏輯插入。我可以收集這些信息並將事件異步發送回UI線程。但是,爲了使UI保持最新更容易,我還希望在用戶修復錯誤時發佈事件 - 即從錯誤對象中撤消知識庫。接收到Drools邏輯回收事件的通知
我對如何做到這一點有兩個想法,我都不喜歡這兩個想法:
我可以聽程序代碼中的工作記憶事件,但這會違反驗證功能在知識庫中的封裝。或者,我可以插入一個與我的邏輯插入錯誤對象配對的標誌對象,並編寫一個檢測未配對標誌的規則,將它們撤回,並觸發「錯誤修正」事件。
如上所述,是否存在一種基於錯誤對象的邏輯回收來激活規則的乾淨而簡單的方法?