A rule updates a list in a fact:
rule "Init" dialect "mvel" when $fl: FactWithList(items.size()==0) then $fl.getItems().add("A"); $fl.getItems().add("B"); update($fl); end
A second rule verifies if other facts exist, matching the items in the updated list:
rule "Expected Outcome" dialect "mvel" when $fl: FactWithList($itemList : items != null) $l: java.util.ArrayList(size > 0) from collect(FactWithString($itemList contains stringValue)); then System.out.println("--> Rule: " + kcontext.getRule().getName() + " fired, " + $fl + ", collect list: " + $l.size()); end
This rule is not fired if
- mvel dialect is used and
- Drools is executed with ForceEagerActivationOption.YES (jBPM use case)
Note: This worked in 7.17 and earlier!
- clones
-
DROOLS-4468 Invalid result with collect, mvel and ForceEagerActivationOption.YES
- Closed