the salience can work fine, or else you can use "agenda-groups" and then something like:

workingMemory.fireAllRules();
workingMemory.setFocus("cleanup");
workingMemory.fireAllRules();

On 2/8/07, Justine Hlista <justine@vsasset.com> wrote:
Need some instruction for retraction strategies. We have an application that receives messages about the status of various things in the system, and at the moment I am asserting these messages as facts. The rules are written against these messages. Various rules might be interested in various values in the message, and they all fire independently. The problem is that after all the existing rules that are interested in the message have fired, I want to retract the message. How do I ensure that all the interested rules have fired first??

At the moment, I am trying to use a salience value of -1 to make sure a simple "cleanup" rule fires last:

rule "cleanupMessage"
no-loop true
salience -1
    when
        msg : MyMessage()
    then
        retract(msg)
end

Does this sound like a reasonable solution? Is there a better one??

Thanks!

_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users