当前位置: 首页 > 知识库问答 >
问题:

Drools-在条件中使用全局变量并相应地更新它

闾丘文昌
2023-03-14

我有以下问题。希望有人能回答。

在我的drools项目中,我正在执行一些选择规则,并将选定的对象添加到全局列表中。然后还有另一个规则使用此全局列表中的对象。我希望Drools在每次列表更改时(当另一个规则将对象添加到列表时)都会触发这些全局列表相关规则。但这似乎不会发生在Drools上。drools是否跟踪对全局变量所做的更改并解析依赖于它们的规则?

提前感谢!

共有1个答案

锺离德庸
2023-03-14

来自Drools文档:

全局变量不会插入到工作内存中,因此不应使用全局变量在规则中建立条件,除非它具有不变的不可变值。

希望有帮助,

 类似资料:
  • 问题内容: 我是Python和程序设计的新手,但似乎无法理解为什么此函数不更新全局变量 我也尝试过 问题答案: 需要声明的是是全球性的 内部 ,而不是外面。 该语句告诉Python,在函数范围内,它引用的是全局变量,而不是一些新的局部变量。

  • 问题内容: 我正在尝试创建一个分页类,并使用该类外部的变量。 但这给了我致命错误“在非对象上调用成员函数query()”。 这是索引文件: 这是pagi.php文件: 是否可以在类内部使用该变量,而无需在类内部创建新变量? 问题答案: 解决此问题的正确方法是将数据库对象注入另一个类(依赖项注入): 解决该问题的另一种方法是将数据库类的实例注入使用它的方法中: 您选择哪种方法取决于情况。如果只有一个

  • 问题内容: 我刚刚创建了angularJS应用程序。 这是我的 index.html app.js 我有login.html,register.html和forgotpassword.html,home.html。每个人在单独的文件中都有单独的控制器。login.js,register.js,forgot.js,home.js。 login.js 同样,我在其他控制器中也有post方法。 我想要的

  • 问题内容: 如何与线程共享全局变量? 我的Python代码示例是: 我不知道如何让两个线程共享一个变量。 问题答案: 您只需要在中声明为global ,这样就无需修改该函数本地的。 在中,您不需要执行任何特殊操作,只要您不尝试修改的值(这将创建一个局部变量以遮盖全局变量;请在需要时使用)>

  • 如何为drools无状态会话设置全局变量。 假设两个线程访问同一个会话,但为每个线程设置一个全局变量customer arraylist和新的arraylist。对于全局变量customer,第二个线程的arraylist是否替换第一个线程的arraylist。 这似乎是Stateless知识库类留档的情况: 无状态KnowledgeSessions支持全局,其作用域有多种方式。我将首先介绍非命令