0
假設我添加某些對象配置Drools的執行對象
{O1,O2,O3}
和規則
{R1,R2,R3}
在我的知識庫中
當我火了所有規則的執行順序是這樣的:
R1 <on> O1
R1 <on> O2
R1 <on> O3
R2 <on> O1
R2 <on> O2
R2 <on> O3
R3 <on> O1 (add to passed object cache)
R3 <on> O2 (add to passed object cache)
R3 <on> O3 (add to passed object cache)
這意味着我不能把傳遞的對象在緩存中,直到最後的循環
如何執行順序改變:
R1 <on> O1
R2 <on> O1
R3 <on> O1 (add to passed object cache)
R1 <on> O2
R2 <on> O2
R3 <on> O2 (add to passed object cache)
R1 <on> O3
R2 <on> O3
R3 <on> O3 (add to passed object cache)
您是否嘗試過逐個插入對象並在每次插入後調用fireAllRules()? –
有沒有在你的類的對象牛(我假設都是同一類的)決定了指令O1
laune
請解釋爲什麼要求訂單事宜,即觀察者如何檢測出第一順序發生,和不良後果由該出現。需要注意的是對象的緩存中的到達順序是一樣的,只有到達時間之間幾毫秒diffrence。 – laune