问题标签 [drools-flow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
drools - 如何在 Drools 决策表中使用字符串数组作为条件?
我是流口水决策表的新手,所以我的问题可能无效。在我的决策表中,我在条件列中使用“in”。示例:我有班级学生,还有另一个班级 UniversityConstant。在 UniversityConstant 类中有字符串主题代码数组: public static final String[] subjectCode ={"150","920","930","940","154"};
在这种情况下,我的情况无法正常工作(上图:无法正常工作)。如果我使用直接主题代码字符串而不是使用 java 类的字符串数组常量而不是它正在工作(下图:工作)。
在我的项目中有很多字符串数组,因此无法将它们复制粘贴到决策表 excel 中。即使我在 UniversityConstant 类中使用字符串常量,它代表所有主题代码,如 public static final String subjectCodeStr1 ="\"155\",\"920\",\"930\",\"940\",\"154 \"" OR public static final String subjectCodeStr2 ="155,920,930,940,154"; 比它也不起作用。我的问题是有什么方法可以使用字符串数组常量或简单字符串来表示决策表中的 java 字符串数组。
drools - 流口水工作并发流口水 5.5.0
如何在多个用户正在工作或访问同一操作的规则的环境中使用 drools。考虑一个包含 5 个规则的 drl,现在这些规则正在被多个用户访问。很明显,规则将存储在知识会话中。每次发生请求时,系统都会执行 i/o 并加载 dt 和 drls,然后将创建一个新的知识会话。我们将拥有超过 1500 条规则,这些规则将在 150 多个 dts 和 150 多个 drls 中进行管理。
示例代码铅将不胜感激。
drools - 创建多个 KieBase 并在 drools 中以编程方式创建 kmodule
我在drools中有多个规则包,每个包都包含不同的规则,我将所有包的规则添加到kmodule.xml文件中,一旦我运行我的一个bpmns(每个规则包都有不同的bpmn和规则流- grouo)所有规则都会被触发,即使是不同包和不同规则流组中的规则。我想创建多个 Kiebase,每个都包含相关的 drl 文件(还以编程方式和动态构建 kmodule,而不是通过将它们写入 meta-inf 文件夹),一旦我决定需要哪个,我会将 kiebase 添加到会话中并运行正确的 bpmn。我该如何实施?
drools - 我们可以从 drool 中的属性中读取数据吗
我在我的口水文件中写了下面的部分。我没有收到任何编译错误,但它没有在运行时执行。我们可以从流口水的属性文件中读取数据,还是我们有任何替代方法可以从配置文件中读取数据。你能帮我解决这个问题吗?
Drool 中添加的一段代码:
drools - 如何为事实维护 Drools 全局计数器并根据其值应用规则
我是 Drools 的新手,正在处理我将获得一批事实(BankAccount 信息)的要求。当三个连续的次要帐户(年龄<16)插入会话工作记忆时,我必须发出警报消息。我尝试维护全局变量并在插入次要帐户时将其递增。但我无法定义基于全局计数器值的规则,我必须使用它来传递警报消息。请在下面找到 DRL 文件并为此提供解决方案。
以下规则未触发
这是将加载 3 个 Minor 帐户并测试应用程序的 Java 类
请为此提供解决方案。运行测试类时的输出
("Alert****") 即使在 value 为 >2 之后也不显示。规则“checkCounterAndProduceAlert”未触发
drools - Drools:如何比较drools中两个不同对象的属性?
我正在使用流口水进行业务级别验证。是否可以在工作内存中加载两个对象并比较它们的值?假设我有 2 个对象:
我可以在 drl 文件中比较 name(Object1) 和 sname(Object2) 吗?
我试图在 drl 文件中添加这一行,但它给出了一个错误“Unexpected token name”
还帮助我将这些对象插入工作记忆中。我正在使用以下步骤进行 kie 会话
现在可以同时使用 insert 方法插入 object1 和 Object2 吗?
java - DROOLS 中“package”关键字的用途是什么?
在我的场景中,我们有多个规则文件,并且我们通过正确的命名约定确保每个规则名称都是不同的,即使它们位于不同的文件夹、文件中。
我们在所有的 drl 文件中使用一个通用的包名。
现在,即使我删除了包名,它也可以正常工作(我已经检查过测试用例)。
所以现在我对'package'关键字的用途和用途感到困惑。
我已经明白它很像 java 中的包并使用它,以便我们可以在不同的包中拥有相同的名称规则、声明的类型和导入。那么,如果我们已经确保我们编写的所有内容都有一个唯一的名称,我们是否也需要这个?
java - 如何使规则引擎始终选择具有更高显着性的规则?
我正在使用显着性来确定每个规则的优先级,但是当我触发AllRules 时,它并不总是选择显着性更高的规则。如何使规则引擎始终选择具有更高显着性的规则?
输出
触发规则的动作监听器
流口水主要
规则结构