我正在尝试将现有的基于 ILOG JRules 的应用程序迁移到基于 Drools 的项目。在 ILOG 中,我们有局部变量(和变量集),可用于计算和存储规则(公式)中的中间值。
Drools 中是否有等效的局部变量?我知道我们在 Drools 中有全局变量,但文档建议仅将全局变量用作只读常量,并将 Java 调用类之间的数据传递给规则:
强烈建议不要从规则内部设置或更改全局值。我们建议您始终使用工作内存接口从您的应用程序中设置值。
一种方法是编写一个自定义 java 类Variable
并在其中声明所有变量并在 drools 规则中使用它。但这每次我们想要添加一个新变量时都需要更改 java 代码。
是否有任何可行的方法来定义和使用 Drools 中可以在规则内定义和更改的变量?