Я пытаюсь перенести существующее приложение на основе ILOG JRules в проект на основе Drools. В ILOG у нас есть локальные переменные (и набор переменных), которые можно использовать для вычисления и хранения промежуточных значений в правилах (формулах).
Есть ли эквивалент локальных переменных в Drools? Я знаю, что у нас есть глобальные в Drools, но в документации предлагается использовать Globals только как константы только для чтения и передавать данные между вызывающим классом Java в правила:
Настоятельно не рекомендуется устанавливать или изменять глобальное значение внутри ваших правил. Мы рекомендуем вам всегда устанавливать значение из вашего приложения, используя интерфейс рабочей памяти.
Один из подходов состоит в том, чтобы написать собственный класс Java Variable
, объявить в нем все переменные и использовать его в правилах drools. Но для этого потребуется изменение кода Java каждый раз, когда мы хотим добавить новую переменную.
Есть ли какой-либо возможный метод определения и использования переменных в Drools, которые можно определять и изменять в рамках правил?