2011-02-07 2 views
0

Я внедрил Drools в свой проект Java. Все правила срабатывают, но условия проверяются один раз сразу после увольнения.JBoss Drools проверяет условия один раз

Это так, как ведет себя Дролз? Мне нужно, чтобы он постоянно проверял логическое значение для любых изменений.

ответ

2

Вот как работает механизм правил прямой цепи (что чрезвычайно эффективно).

Если ваш факт изменился (поэтому, если результат его логического свойства/метода изменяется), механизм правил должен быть уведомлен workingMemory.updated(fact, factHandle). Затем механизм правил запускает все правила (а не одно правило больше), которые необходимо уволить на основе этого изменения.

Here's a diagram to explain why this can make your app a lot more scalable because it has to run a lot less code.

+0

Да, я согласен с @Geoffrey Де Смет. Вам необходимо обновить сеанс с последними фактами. Или вы можете использовать атрибут «no-loop». Когда следствие правила изменяет факт, это заставит правило активироваться снова, вызывая рекурсию. – nIKUNJ

Смежные вопросы