Обновление факта ввода правилом не выполняется при использовании в ограничении другого правила в таблице решений - PullRequest
0 голосов
/ 10 мая 2019

Я новичок в JBoss Drools.Недавно я столкнулся с проблемой вокруг таблиц решений, которые я каким-то образом нашел решение, но я не знаю, как это работает.

Я хочу записать некоторые правила в таблицу решений таким образом, чтобы некоторые правила зависели от обновленного значения атрибута факта, установленного ранее другим правилом.Идея состоит в том, что я проверяю значение атрибута факта в определенном правиле и на основании этого я обновляю значение другого атрибута того же факта.Теперь во втором правиле я использую обновленное значение атрибута для проверки ограничения.По какой-то причине это не сработало для меня, т.е. второе правило не срабатывало, потому что значение атрибута, которое было обновлено в предыдущем правиле, не выбиралось вторым правилом.

Поэтому я попытался построитьтаблица решений с нуля, и я обнаружил, что проблема была в выделенном ограничении, которое я написал.enter image description here

Как видно на снимке, все работает нормально.Если ageGroup больше 18, атрибут isFraudulent имеет значение true.Во втором правиле обновленное значение подбирается и присваивается правильный кредитный рейтинг.Однако ранее выделенное мной ограничение было таким.« dataModel.isFraudulent == $ param », но это не сработало, что, как я предполагал, должно сработать.В этом случае isFraudulent всегда был нулевым.Но если я заменим это ограничение на « isFraudulent == $ param », оно будет работать нормально.Хотя мне удалось это исправить, я не знаю, почему это не сработало с первого раза.

Пожалуйста, помогите мне понять это и, пожалуйста, дайте мне знать, если потребуется дополнительная информация.Большое спасибо заранее.

...