bave règle de flux de

J'ai un étrange problème avec drools :

J'ai les règles suivantes :

rule "is my dog a baby?"
  ruleflow-group "dog"
  salience 10
  when 
     dog : Dog(age <1 )
  then 
     dog.setIsBaby(true);
end


rule "baby dog"
    ruleflow-group "dog"
    salience 9
    when
        myData : MyData( myDog.isBaby() == false)
    then
        System.out.println(myData.getMyDog().getIsBaby());
end

Je l'insère dans ma session myData et myData.getMyDog(), où myData.getMyDog.isBaby==false

La première règle est tiré et que mon chien est d'être un bébé. Puis, la seconde est tiré, et même il imprime vrai .(même si la condition est fausse)

Et quand je test après la mise à feu de toutes les règles , myDog dans myData est d'être un bébé .

Ce que je fais mal ici ? Pourquoi la deuxième règle est déclenchée ? le problème est dans la session (stateful dans mon cas) ?

Je pense que j'ai besoin de dire que j'ai modifier myData:myDog quelque part ,mais je ne suis pas sûr de l'endroit où .

Espère que ma question est claire, si ce n'est me dire.

InformationsquelleAutor Ricky Bobby | 2011-10-13