in drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/session/UpdatesOnJoinBenchmark.java [89:116]
public int test() {
for (int i = 0; i < factsNr; i++) {
as[i] = new A(rulesNr + 1);
aFHs[i] = kieSession.insert(as[i]);
bs[i] = new B(rulesNr + 3);
bFHs[i] = kieSession.insert(bs[i]);
cs[i] = new C(rulesNr + 5);
cFHs[i] = kieSession.insert(cs[i]);
ds[i] = new D(rulesNr + 7);
dFHs[i] = kieSession.insert(ds[i]);
}
for (int i = 0; i < loopCount; i++) {
for (int j = 0; j < factsNr; j++) {
as[j].setValue(as[j].getValue() + 1);
kieSession.update(aFHs[j], as[j]);
bs[j].setValue(bs[j].getValue() + 1);
kieSession.update(bFHs[j], bs[j]);
cs[j].setValue(cs[j].getValue() + 1);
kieSession.update(cFHs[j], cs[j]);
ds[j].setValue(ds[j].getValue() + 1);
kieSession.update(dFHs[j], ds[j]);
}
}
return kieSession.fireAllRules();
}