我是Drools(版本6.3)的新手,我有一些麻煩提出了一個特定的規則。我有一個名爲Steps的課程,只有一個簡單的字段double steps;
。每一步事件代表採取自上次事件和 我有說,你需要得到移動時,你不這樣做在最後一小時 50步驟的工作規則的步驟:Drools融合規則語言:計步器規則
declare Steps
@role(event)
end
rule "STEPS RULE"
when
$totalSteps : Number(doubleValue < 50) from accumulate(
Steps(stepsCount : steps) over window:time(1h) from entry-point
"entrySteps", sum(stepsCount))
then
System.out.println("STEPS RULE: get moving!");
end
現在改爲每事件是自上一次事件以來採取的步驟,我希望它們代表累積步驟。所以如果一個事件有50個步驟,你需要20個步驟,那麼我希望下一個事件有70個步驟。問題是我如何更改我的規則,以便它仍然有效?
您需要澄清一下您的條款。如果'步驟'是一個傳入事件,它的數據是固定的 - 所以如果它包含50個步驟,就是這樣。你可以從一個序列中的兩個事件中派生出一些東西,這樣一個步驟中的50個和下一個中的20個會產生70個和,但這似乎不是你的問題。 – laune