问题标签 [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 回答
1245 浏览

java - MVEL executeExpression 函数不能并发

运行 File2 中的 main 函数,问题是:线程卡在“rval=MVEL.executeExpression(compiledExpression, vars);” , 10 个线程按顺序运行,而不是并行运行,我想知道为什么会这样。PS:我正在使用 MVEL 2.2 ,最新版本

文件 1:MVELHelper.java

}

文件2:ExecThread3.java

}

0 投票
1 回答
4603 浏览

java - 为具有不同变量类型的 MVEL 创建上下文

我正在使用 MVEL 来评估算术和逻辑表达式或两者的组合。问题是我事先并不知道所有变量类型,而没有为表达式本身创建一个非常复杂的解析方法(通过设置文件传递)。只有当我浏览我的数据并更新上下文时,我才知道它们的类型。例如,考虑将(a && b) && (c == 10) && (d < 5)变量与运算符分开并初始化上下文的表达式,但我不知道哪些是布尔值,哪些是整数。我试图用nullor初始化上下文中的所有变量,new Object()但它没有按预期工作。请参见下面的示例代码:

当它崩溃时,我收到这条消息:Exception in thread "main" org.mvel2.ScriptRuntimeException: expected Boolean; but found: java.lang.Object如果我用它初始化null会崩溃说..but found: null我的猜测是它在MVEL.eval()方法中计算出它应该接收布尔值作为第一个变量,但我发现行为不一致。第二个例子让我更加困惑。请参见下面的示例代码:

第二个示例中的崩溃错误消息是:Exception in thread "main" [Error: failed to subEval expression] [Near : {... ( a > b + 2 ) && ( c < a - 5 ) ....}] ^ 我的上下文变量是否有默认初始化?我可以用初始化它们,new Boolean(false)但这会影响表达式。我必须使用严格类型或强类型吗?顺便说一句,我没有找到任何像样的类文档..任何建议都值得赞赏。谢谢你。

0 投票
2 回答
2182 浏览

java - drools.getRule().getName() 在属性 -rule 流水文件中

我需要根据来自后端的数据启用/禁用 drl 文件中的某些规则。即为迪拜启用规则 1,2,3,为新加坡启用 1,3 所以,我通过 drools.getRule().getName() 如下。

我在这方面遇到了错误。

0 投票
1 回答
1969 浏览

java - 在 Drools 中,选择子句(使用关键字 `from`)可以写在 Iterable 或 Iterator 上吗?

给定这样的 Java 接口:

如何在 LHS 表达式中选择具有特定名称的爱好对象。例如,像这样:

这应该工作吗?当我们尝试它时,它不会产生任何结果。

Iterable考虑到返回 a而不是 a的 Java 代码,是否有替代方案Collection

0 投票
1 回答
4456 浏览

mvel - MVEL extracting a string from a string

I have the strings "000134567 - AA - 2001" and "002134567 - AB - 2001" and I want to extract all the numbers before the " - AA". But I only want to return the numbers starting from the first non-zero number. For example, I would want "134567" or "2134567".

Is there some function that would allow me to do this using MVEL? Any help is appreciated.

0 投票
1 回答
944 浏览

expression - MVEL - 错误:无法访问 ReflectiveAccessorOptimizer 中的字段

我是 MVEL 的新手。按照我遵循的步骤

1) 从http://mvel.codehaus.org/Downloading+MVEL下载最新, 即下载 mvel2-2.2.0.jar (需要 JDK 1.5+)

2) 创建了一个简单的自定义 obj 列表

3)得到以下错误

线程“main”中的异常 [错误:f.getName():类 org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer 无法访问类 test.Fruit 的成员,修饰符为“public”] [Near : {... foreach( f : 水果) { System.out.println(f.getName()); } ....}]

0 投票
1 回答
7630 浏览

java - Drools:mvel 和 java 方言的区别

作为 Drools 的新手,我对 mvel 和 java 方言之间的差异以及使用它们的相对优缺点感到困惑。

经过一些初步研究,我在这里这里遇到了一些讨论。

除了语法糖之外,还有哪些其他区别以及在 java 上使用 mvel 的额外好处是什么?

谢谢。

0 投票
1 回答
592 浏览

java - System.setProperty("java.version", "1.6") 不工作 Android 5

我在 Android 4 上使用了这个命令,它运行没有任何问题: System.setProperty("java.version", "1.6"); 但是当我将我的 Android 升级到 5 时,我开始收到这个错误: Ignoring attempt to set property "java.version" to value "1.6"

我想将此属性设置为 1.6,因为我正在使用 mvel 库,并且该库检查其中的这个值以执行一些逻辑,我不想修改库的源来处理这个问题,所以我该如何解决这个问题?

0 投票
2 回答
1507 浏览

json - 从 mule esb 中的 JSON 中提取所有特定字段

我有这个 json 有效负载,我想一次性收集所有 externalListingId -

我正在使用 MVEL 表达式 -

但这是给错误!- 消息有效负载的类型:ReleasingInputStream。

场景 - 我想将所有 externalListingId 收集到 flowVariable 中,转换为 hashmap。我有另一个 CSV 文件作为输入,想遍历该有效负载并检查此映射是否包含 id!

我正在关注这篇较早的帖子 - 从 mule esb 中的 JSON 中提取数组

0 投票
2 回答
1447 浏览

java - 带有数字键的 MVEL 表达式

我们使用 MVEL 通过在上下文对象中传递映射来评估表达式。该映射包含 SNMP 陷阱信息,例如 OID 及其值。例如,示例地图包含以下键和值。

当我们使用 MVEL.eval() 评估表达式时,它要么失败要么返回 False。以下是使用的 MVEL 表达式及其结果。

我们的 Map 将始终包含这样的 OID 和值,我们希望使用 MVEL 验证它们的值。基于此,我们需要知道

  1. 如果提到的表达式是有效的表达式,如果不是,那么需要进行哪些更改才能使其工作。
  2. 我们是否需要向表达式中提到的键添加任何额外的转义字符或
  3. 这是不可能的,因为表达式中提到的键不是有效的属性/标识符。