问题标签 [mvel]

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.

0 投票
0 回答
505 浏览

drools - drools 5:跨进程共享知识库时出现 NullPointerException

我们有一个运行 drools 的 jboss 实例集群。我们在一个实例上生成知识库,然后将其存储在数据库中;然后其他实例可以从数据库中加载它,而不是自己生成它。

这在使用 drools 4 一段时间后效果很好,但我们最近升级到 drools 5.3.0 BRMS,并且该模式不再有效。知识库在生成它的应用程序实例中运行良好,但在其他任何地方都失败,但出现以下异常。请注意,在将事实插入工作内存时会发生此异常。

应用程序的所有实例都是相同的,它们在同一个 jvm 中运行,等等。“其他”实例不需要在不同的物理机器上——它可以在同一个硬件上,并且仍然会发生故障。

知识库为何会在与生成它的 jvm 实例不同的 jvm 实例中失败?有没有办法避免这个问题?谢谢。

这是似乎发生故障的 drl。我已经通过mvel代码做了一些调试,但我对它并不熟悉,我还没有弄清楚发生了什么。我认为发生故障的表达式是“this.fact.requirementId”。

堆栈跟踪:

0 投票
1 回答
4538 浏览

java - Drools 规则中的运算符优先级

嗨,我想知道如何在 Drools 中解释以下规则

是吗

  1. (A 或 B)和 C

  2. A 或(B 和 C)

  3. 变成两条规则:a)。A 和 C b)。乙和丙

  4. 变成两条规则:a)。乙)。乙和丙

谢谢

0 投票
2 回答
2990 浏览

java - 禁止触发另一个流口水规则

嗨,我想在另一组 drools 规则触发时禁用其他一些 drools 规则,你会怎么做?

假设我有一个议程组“每日”,它有两组流口水规则集 A 有规则“Default-1”、“Default-2”、“Default-3” 集 B 有规则“Custom-1”、“自定义 2”、“自定义 3”

当议程组“每日”得到关注,并且当前事实与自定义模式匹配时,我希望仅触发“Custom-1”和/或“Custom-2”和/或“Custom-3”;否则,只有“Default-1”和/或“Default-2”和/或“Default-3”触发。

问题是,Default-1/2/3 总是被解雇。我需要一种在 Custom-1/2/3 中禁用它们的方法。首先,我将 Custom-1/2/3 中的显着性级别设置为高于 Default-1/2/3。然后我尝试使用激活组。但是,如果我将它们全部设置为同一个激活组,则六条规则中只有一条会触发,这不是我想要的。

我不允许更改 .java 模块,该模块每次都会加载所有规则。我只能更改 .drl drools 规则。

谢谢你。

0 投票
3 回答
8160 浏览

java - 使用 mvel 检查 List 中是否存在元素

我有一个清单。清单就像。

现在我想在 mvel 中检查这个列表是否包含加利福尼亚和悉尼。我以为我可以使用下面的,但这会出错。

如何在 mvel 中查找列表是否包含多个元素?

0 投票
1 回答
563 浏览

java - 在 mvel 中使用 ParserContext.addImport 时发生错误

下面是伪代码

发生异常

0 投票
1 回答
132 浏览

java - 尝试将 JBPM 与 MAVEN java.lang.NoSuchFieldError 集成时:DESCR

我正在尝试将 jbpm 与 maven 集成。当我运行我的代码时,我收到以下错误:

我无法解决这个问题,任何人都可以帮助我解决这个问题。

0 投票
1 回答
643 浏览

elasticsearch - elasticsearch更新一组

仅当项目不在列表中时,我才尝试更新列表字段。

有什么问题:

无论如何,这会添加该项目,即使它存在。

有什么更聪明的方法吗?

0 投票
1 回答
3619 浏览

mvel - 如何在 MVEL for / foreach 循环中中断或继续

我看到 MVEL 支持 for 循环和 foreach 模板,但是如何从循环中“中断”或“继续”?

0 投票
1 回答
6012 浏览

elasticsearch - 如何在 elasticsearch 中获取数组的计数/大小

我想在我的一个数组上做一个统计方面。我希望像

或者

会工作。我还没有在 mvel 中找到任何数组计数方法,我什至不知道访问脚本中的数组字段是否真的给了我数组。

0 投票
3 回答
1048 浏览

mvel - MVEL:如何将 java.lang.* 类排除在表达式之外?

我正在尝试沙箱 MVEL 表达式评估。不幸的是,默认情况下,MVEL 包含表达式语言中的所有 java.lang.* 类,因此用户可以调用“Runtime.exit()”并杀死整个系统。

如何排除我没有使用 addImport() 显式添加的所有类?

我无法确定变量解析器的正面或反面。