2010-12-06 60 views
0

嘿,那裏,我有一個項目在工作中,可能需要我在程序運行期間加載/卸載規則到有狀態的Drools會話。 (最終使用JMX,但現在我只是想添加一個規則到現成的會話)是否可以將新規則添加到正在運行的Drools會話中?

我想知道,這是可能的,在這種情況下怎麼樣?我需要重建會話嗎?我試圖簡單地從會話中獲取知識庫,將我的規則文件添加到該文件中,然後啓動所有不起作用的規則。

謝謝!

回答

1

簡短的回答是YES,這裏是從documentation報價:

3.2.5。有狀態知識會話和知識庫修改

有狀態知識會話將在「運行」一節中更詳細地討論。 KnowledgeBase創建並返回StatefulKnowledgeSession對象,並可以選擇保留對這些對象的引用。當KnowledgeBase修改發生時,這些修改將應用於會話中的數據。該引用是一個弱引用,它也是可選的,由布爾標誌控制。

+0

因此,對於所有意圖和目的,如果規則正確加載到知識庫中,那麼與該知識庫相關的所有會話也會被更新?這意味着我目前的問題是加載,而不是更新。我會再次把我的鼻子放在磨石上,謝謝! – Tickolas 2010-12-07 09:28:22

相關問題