问题标签 [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.
drools - drools 5:跨进程共享知识库时出现 NullPointerException
我们有一个运行 drools 的 jboss 实例集群。我们在一个实例上生成知识库,然后将其存储在数据库中;然后其他实例可以从数据库中加载它,而不是自己生成它。
这在使用 drools 4 一段时间后效果很好,但我们最近升级到 drools 5.3.0 BRMS,并且该模式不再有效。知识库在生成它的应用程序实例中运行良好,但在其他任何地方都失败,但出现以下异常。请注意,在将事实插入工作内存时会发生此异常。
应用程序的所有实例都是相同的,它们在同一个 jvm 中运行,等等。“其他”实例不需要在不同的物理机器上——它可以在同一个硬件上,并且仍然会发生故障。
知识库为何会在与生成它的 jvm 实例不同的 jvm 实例中失败?有没有办法避免这个问题?谢谢。
这是似乎发生故障的 drl。我已经通过mvel代码做了一些调试,但我对它并不熟悉,我还没有弄清楚发生了什么。我认为发生故障的表达式是“this.fact.requirementId”。
堆栈跟踪:
java - Drools 规则中的运算符优先级
嗨,我想知道如何在 Drools 中解释以下规则
是吗
(A 或 B)和 C
A 或(B 和 C)
变成两条规则:a)。A 和 C b)。乙和丙
变成两条规则:a)。乙)。乙和丙
谢谢
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 规则。
谢谢你。
java - 使用 mvel 检查 List 中是否存在元素
我有一个清单。清单就像。
现在我想在 mvel 中检查这个列表是否包含加利福尼亚和悉尼。我以为我可以使用下面的,但这会出错。
如何在 mvel 中查找列表是否包含多个元素?
java - 在 mvel 中使用 ParserContext.addImport 时发生错误
下面是伪代码
发生异常
java - 尝试将 JBPM 与 MAVEN java.lang.NoSuchFieldError 集成时:DESCR
我正在尝试将 jbpm 与 maven 集成。当我运行我的代码时,我收到以下错误:
我无法解决这个问题,任何人都可以帮助我解决这个问题。
elasticsearch - elasticsearch更新一组
仅当项目不在列表中时,我才尝试更新列表字段。
有什么问题:
无论如何,这会添加该项目,即使它存在。
有什么更聪明的方法吗?
mvel - 如何在 MVEL for / foreach 循环中中断或继续
我看到 MVEL 支持 for 循环和 foreach 模板,但是如何从循环中“中断”或“继续”?
elasticsearch - 如何在 elasticsearch 中获取数组的计数/大小
我想在我的一个数组上做一个统计方面。我希望像
或者
会工作。我还没有在 mvel 中找到任何数组计数方法,我什至不知道访问脚本中的数组字段是否真的给了我数组。
mvel - MVEL:如何将 java.lang.* 类排除在表达式之外?
我正在尝试沙箱 MVEL 表达式评估。不幸的是,默认情况下,MVEL 包含表达式语言中的所有 java.lang.* 类,因此用户可以调用“Runtime.exit()”并杀死整个系统。
如何排除我没有使用 addImport() 显式添加的所有类?
我无法确定变量解析器的正面或反面。