问题标签 [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 投票
1 回答
809 浏览

date - 如何在 ElasticSearch 的 MVEL 中将毫秒转换为日期

我需要通过 MVEL 操作员将 unix_timestamp 字段转换为日期。

我有一个由 mysql 导入的时间戳填充的字段。现在我要从中获取日期(不是日期时间)并在聚合中使用它。

我的聚合是这样的:

上述聚合的结果是“按秒”分组的,但我需要“按日期”。

提前致谢。

0 投票
0 回答
2192 浏览

drools - Drools 6.1 - 如何禁用严格模式?

简短版:如何使用新的 KIE A​​PI 禁用 MVEL 严格模式?

我知道有一个配置属性“drools.dialect.mvel.strict”可以使用旧的 KnowledgeBuilder API 进行设置。但是我找不到使用新 API 完成相同操作的方法。

长版:我有一个对象方法,称为Object attribute(String name),结果可以是许多不同的类型。有时可能是列表,其他字符串或其他。现在为了使用该方法,我必须使用大量强制转换或流口水抛出异常。对于以下示例:

我收到这样的错误:

为了在启用严格类型的情况下使其工作,我必须输入相同的表达式:

可以使用严格输入选项禁用它。

0 投票
2 回答
7757 浏览

node.js - 从数组弹性搜索中删除对象

我需要从满足条件的数组中删除对象,我可以根据条件更新数组的对象,如下所示:

这是有效的

为了删除我正在这样做

但这不起作用并给出此错误,

ElasticsearchIllegalArgumentException[执行脚本失败]; 嵌套:并发修改异常;错误:ElasticsearchIllegalArgumentException[未能执行脚本];嵌套:ConcurrentModificationException

我可以使用删除整个数组或整个字段

我还可以通过使用指定对象的所有键来从数组中删除对象

我的节点模块弹性搜索版本是 2.4.2 弹性搜索服务器是 1.3.2

0 投票
1 回答
231 浏览

elasticsearch - Elasticsearch - 查询分数的查找值

我正在使用带有自定义脚本的弹性搜索。我需要根据另一个索引中定义的另一个值创建一个自定义分数。我们称这个值为“排名”。分数应如下所示:

排名取决于正在评分的类型中的提供者字段。我的问题是,从那时起排名在另一个索引中,它不会检索值。进行此类评分的最佳方法是什么?另外,如何才能缓存结果。例如,无论如何在 mvel 中都可以根据 redis 键值对检索值。

0 投票
1 回答
9337 浏览

java - 使用 MVEL 评估表达式

我需要评估 MVEL 中包含日期的表达式。基本上,我需要将特定天数添加到给定日期并获取值。当我试图评估 MVEL 中的表达式时,会出现一些异常。

这是我的代码::

我收到以下异常::

0 投票
1 回答
2396 浏览

java - Mvel 迭代一个列表

我有这个类层次结构

学生类.java

学生.java

子.java

主班

通过一些逻辑,我构建了这个表达式来执行MVEL。这段代码在为 null时工作正常child2,但当为 null时,child1它会给出以下错误。这是一个有效的场景,它只是我的应用程序中我的实体的副本。Child 可能在 Parent 中为 null。

仅当对象在索引 0 处为空时才会出现问题,其余所有索引都可以正常工作,即使在索引 1 处为空,并且如果条件索引 0 失败,则它将在索引 2 处执行

例外

0 投票
1 回答
1369 浏览

java - 意外的 MVEL2 行为

我需要检查一个表达式是否写得好,所以我决定使用 MVEL2 来做这件事。我有一个像

和像这样的哈希图

当我用 MVEL 处理它时,

我期待一个异常,因为 DAT 未映射,而是 MVEL2 库仅返回 FALSE 条件。

如果我使用这样的表达

我得到了预期的异常,另一个我得到异常的例子是:

你能给我一个解释吗?

0 投票
1 回答
255 浏览

mule - MEL 空安全 Xpath 在 Studio 中有效,但在 Cloudhub 中无效

以下表达式在 Studio 中本地运行良好,但部署到 Cloudhub 时失败并出现以下错误:

它基本上只是一个使用空安全的简单路径表达式?调用 .text 方法之前的运算符。为什么这在 Cloudhub 中不起作用?


消息:执行表达式“xpath('//ns1:root/ns1:Country').?text”失败。(org.mule.api.expression.ExpressionRuntimeException)。消息有效负载的类型:DefaultDocument

代码:MULE_ERROR--2

异常堆栈是:1. null (java.lang.NullPointerException) org.mule.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer:363 (null) 2. [错误:空指针:

0 投票
0 回答
195 浏览

java - 线程局部变量是否与 JBoss 流口水一起使用

我正在使用带有 mvel2 (2.1.3) 方言的 JBoss drools 5.5.0.final

我在 ksession.fireAllRules() 之前设置了线程局部变量,但线程局部变量似乎在流中未设置。

在 Drools/mvel 中使用线程局部变量是不好的做法吗?有哪些可能的原因和选择。

编辑:我在通过drools调用的java类中访问这个threadlocal变量。其类型的应用程序特定的执行上下文信息存储在该线程局部变量中。

在高并发下观察到此问题(超过 4 个线程执行同一进程)

0 投票
2 回答
5087 浏览

java - MVEL 无法按需要进行空比较

根据 [ http://mvel.codehaus.org/Value+Emptiness中的 MVEL 文档

如果下面提到的条件为真,则应评估为真。

字符串的长度大于 0,但仅包含空格

布尔值为 false

数值为 0

但它没有给出预期的结果。

  1. 对于字符串情况,当字符串长度>0 但仅包含空格时,条件评估为假(使用的代码如下所示)。

    /li>
  2. 对于布尔值,无论布尔值如何,它都会评估为假(使用的代码如下);

    /li>
  3. 它在比较整数时显示错误。代码:

    /li>

错误:

为什么它不能按照文档工作?