0
我對流口水有點新。我在我的drl文件中有兩條規則,即DateYYYYMMDD和TotalChargesAndTax。我使用以下語法從我的主要方法執行2個規則。在流口水中執行多個規則5.x
Command<?> syntacticValidation = new FireAllRulesCommand(
new RuleNameEqualsAgendaFilter("DateYYYYMMDD"));
Command<?> semanticValidation = new FireAllRulesCommand(
new RuleNameEqualsAgendaFilter("TotalChargesAndTax"));
List<Command> commands = new ArrayList<Command>();
commands.add(semanticValidation);
commands.add(syntacticValidation);
session.execute(CommandFactory
.newBatchExecution(commands));
但是當我運行我的應用程序,只有TotalChargesAndTax規則執行,DateYYYYMMDD規則被跳過。如果我互換在ArayList命令對象的位置,如下圖所示,
commands.add(syntacticValidation);
commands.add(semanticValidation);
則DateYYYYMMDD規則被執行並且TotalChargesAndTax規則被跳過。有沒有辦法執行這兩個規則並執行規則的後果?到目前爲止,根據哪個命令在數組列表中首先執行只有一個結果。
我剛碰巧看到你今天的回覆。當我發佈上述問題時,這是我與Drools的第一天。你所說的正是我幾天後意識到的。爲了有效地定義我的事實模型,我已經走了很長的路,所以我很容易編寫規則。雖然我有一個關於從Windows Shell編譯.drl文件的新問題。你能幫助我嗎? :) ..這裏是問題的鏈接:-http://stackoverflow.com/questions/7992569/how-to-compile-a-drl-file-through-an-ant-build-script – CKing