2013-05-21 67 views
0

對於我來說,它足以查看是否執行規則。然後我使用WorkingMemoryConsoleLogger來查看哪個規則已被激活。規則中不需要有then塊。但是,當我刪除該塊時,它會返回一個錯誤。我該如何解決這個問題?運行drools規則沒有「然後」塊

+0

規則都是關於條件然後行動。如果你不想要這個語義,那麼規則可能是不合適的。我想替代方法是你可以有一個然後調用一個方法,只是做某種日誌記錄。一種noop。 – cmbaxter

+0

我正在使用'then'進行日誌記錄,但所有規則都有相同的動作。我的想法是將這種邏輯添加到'WorkingMemoryConsoleLogger'中,而不是爲每個規則寫出相同的動作... – aphex

+1

@cmbaxter我認爲您的評論有點誤導。通常,業務規則可以是通常稱爲「評估類型規則」和「執行類型規則」的兩種類型。評估類型規則回答一個問題:對或錯。這種類型的規則可能如下所示:「確認ZIP是30040」。執行類型規則可以設置值和/或調用動作。如果任何規則的條件評估爲True,或者它們根本不返回任何內容,則它們返回True。現在,Drools是否支持這兩種規則類型 - 這是一個完全不同的問題。 – Kizz

回答

0

我從用戶組獲得了一些支持。所以then塊可以是空的。

rule "rule name" 
    when 
     ....... 
    then 
end