Hi, I'd like to know if is possible to make Drools capable of firing rules (and so executing the action parts of the rules) without call every time the fireAllRules() method on the WorkingMemory.
In my program I need that every time an activation is created in the Agenda, this activation can be fired automatically. I tried to get this behaviour calling fireAllRules() inside the activationCreated method of an AgendaListener, but this resulted in rules fired two times: I get this output from my modified StateExample ==>[ActivationCreated(1): rule=Bootstrap; tuple=[fid:1:1], ] [BeforeActivationFired: rule=Bootstrap; tuple=[fid:1:1], ] [ObjectModified: handle=[fid:1:2]; old_object=A[FINISHED]; new_object=A[FINISHED]] A finished [AfterActivationFired(1): rule=Bootstrap] [ObjectAsserted: handle=[fid:1:2]; object=A[FINISHED]] ==>[ActivationCreated(3): rule=A to B; tuple=[fid:1:2], [fid:2:3], ] [BeforeActivationFired: rule=A to B; tuple=[fid:1:2], [fid:2:3], ] [ObjectModified: handle=[fid:2:4]; old_object=B[FINISHED]; new_object=B[FINISHED]] B finished [AfterActivationFired(3): rule=A to B] ==>[ActivationCreated(3): rule=A to B; tuple=[fid:1:2], [fid:2:4], ] [BeforeActivationFired: rule=A to B; tuple=[fid:1:2], [fid:2:4], ] [ObjectModified: handle=[fid:2:5]; old_object=B[FINISHED]; new_object=B[FINISHED]] B finished [AfterActivationFired(3): rule=A to B] [ObjectAsserted: handle=[fid:2:5]; object=B[FINISHED]] Any help would be greatly appreciated. - Francesco
