我們有一套主規則。其中一條規則類似於以下規則:如何覆蓋Drools 6中的規則和決策表?
rule "Check Eligibility"
when
$response(type=="rest",age== 25)
then
$response.setSendLetter("Y");
$response.setUpdateStatus("eligible");
end
這些規則將提供給客戶。我們希望我們的客戶能夠自定義規則。如果決定不定製,則規則應適用於他們。自定義可能會在「何時」添加附加條件,或者可能會覆蓋現有條件並添加或修改「何時」部分。他們也可以添加到「那麼」的規則的一部分。
喜歡的東西:
rule "Check Eligibility"
when
$response(type=="rest",age== 27, state="IL")
then
$response.setSendLetter("N");
$response.setUpdateStatus("eligible");
$response.setSendEmail("Y");
end
我們也有類似的需要定製一些決策表。
從規則來看,最初的建議是使用「擴展」,但從我所知道的「擴展」作爲「AND」來檢查父母和孩子的條件,如果兩者都是真的,它會做「then」部分。
我想到的可能解決方案是克隆每個客戶的主存儲庫,然後每當主存儲庫規則發生變化時,我們會拉動客戶存儲庫。可能的問題可能是偶爾出現的可能需要手動解決的合併衝突。
團隊中尚未接受克隆解決方案,因此想知道爲規則和決策表實現「覆蓋」的可能解決方案是什麼?
Thanks @laune!非常感謝解釋性回覆。是的,#1是我想要的,因爲我們必須在2個月後才能生活。我們還有決策表,無論如何都必須複製。我們還計劃提供自定義用戶界面,只顯示用「特定於域的語言」編寫的規則,並允許他添加更多規則。對於現有的規則,我們必須小心謹慎,正如您正確指出的那樣。 – raj