У меня странная проблема с слюнями:
У меня есть следующие правила:
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
Я вставляю в мою сессию myData и myData.getMyDog()
, где myData.getMyDog.isBaby==false
Первое правило действует, и моя собака станет ребенком. Затем запускается второй, и даже он печатает true (даже если условие должно было быть ложным)
И когда я проверяю после применения всех правил, myDog в myData устанавливается как ребенок.
Что я здесь не так делаю? Почему срабатывает второе правило? проблема в сеансе (в моем случае это состояние)?
Я думаю, что мне нужно сказать, что я где-то изменяю myData: myDog, но я не уверен, где.
Надеюсь, мой вопрос ясен, если не сказать мне.