问题标签 [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.
date - 如何在 ElasticSearch 的 MVEL 中将毫秒转换为日期
我需要通过 MVEL 操作员将 unix_timestamp 字段转换为日期。
我有一个由 mysql 导入的时间戳填充的字段。现在我要从中获取日期(不是日期时间)并在聚合中使用它。
我的聚合是这样的:
上述聚合的结果是“按秒”分组的,但我需要“按日期”。
提前致谢。
drools - Drools 6.1 - 如何禁用严格模式?
简短版:如何使用新的 KIE API 禁用 MVEL 严格模式?
我知道有一个配置属性“drools.dialect.mvel.strict”可以使用旧的 KnowledgeBuilder API 进行设置。但是我找不到使用新 API 完成相同操作的方法。
长版:我有一个对象方法,称为Object attribute(String name),结果可以是许多不同的类型。有时可能是列表,其他字符串或其他。现在为了使用该方法,我必须使用大量强制转换或流口水抛出异常。对于以下示例:
我收到这样的错误:
为了在启用严格类型的情况下使其工作,我必须输入相同的表达式:
可以使用严格输入选项禁用它。
node.js - 从数组弹性搜索中删除对象
我需要从满足条件的数组中删除对象,我可以根据条件更新数组的对象,如下所示:
这是有效的
为了删除我正在这样做
但这不起作用并给出此错误,
ElasticsearchIllegalArgumentException[执行脚本失败]; 嵌套:并发修改异常;错误:ElasticsearchIllegalArgumentException[未能执行脚本];嵌套:ConcurrentModificationException
我可以使用删除整个数组或整个字段
我还可以通过使用指定对象的所有键来从数组中删除对象
我的节点模块弹性搜索版本是 2.4.2 弹性搜索服务器是 1.3.2
elasticsearch - Elasticsearch - 查询分数的查找值
我正在使用带有自定义脚本的弹性搜索。我需要根据另一个索引中定义的另一个值创建一个自定义分数。我们称这个值为“排名”。分数应如下所示:
排名取决于正在评分的类型中的提供者字段。我的问题是,从那时起排名在另一个索引中,它不会检索值。进行此类评分的最佳方法是什么?另外,如何才能缓存结果。例如,无论如何在 mvel 中都可以根据 redis 键值对检索值。
java - 使用 MVEL 评估表达式
我需要评估 MVEL 中包含日期的表达式。基本上,我需要将特定天数添加到给定日期并获取值。当我试图评估 MVEL 中的表达式时,会出现一些异常。
这是我的代码::
我收到以下异常::
java - Mvel 迭代一个列表
我有这个类层次结构
学生类.java
学生.java
子.java
主班
通过一些逻辑,我构建了这个表达式来执行MVEL
。这段代码在为 null时工作正常child2
,但当为 null时,child1
它会给出以下错误。这是一个有效的场景,它只是我的应用程序中我的实体的副本。Child 可能在 Parent 中为 null。
仅当对象在索引 0 处为空时才会出现问题,其余所有索引都可以正常工作,即使在索引 1 处为空,并且如果条件索引 0 失败,则它将在索引 2 处执行
例外
java - 意外的 MVEL2 行为
我需要检查一个表达式是否写得好,所以我决定使用 MVEL2 来做这件事。我有一个像
和像这样的哈希图
当我用 MVEL 处理它时,
我期待一个异常,因为 DAT 未映射,而是 MVEL2 库仅返回 FALSE 条件。
如果我使用这样的表达
我得到了预期的异常,另一个我得到异常的例子是:
你能给我一个解释吗?
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. [错误:空指针:
java - 线程局部变量是否与 JBoss 流口水一起使用
我正在使用带有 mvel2 (2.1.3) 方言的 JBoss drools 5.5.0.final
我在 ksession.fireAllRules() 之前设置了线程局部变量,但线程局部变量似乎在流中未设置。
在 Drools/mvel 中使用线程局部变量是不好的做法吗?有哪些可能的原因和选择。
编辑:我在通过drools调用的java类中访问这个threadlocal变量。其类型的应用程序特定的执行上下文信息存储在该线程局部变量中。
在高并发下观察到此问题(超过 4 个线程执行同一进程)
java - MVEL 无法按需要进行空比较
根据 [ http://mvel.codehaus.org/Value+Emptiness中的 MVEL 文档
如果下面提到的条件为真,则应评估为真。
字符串的长度大于 0,但仅包含空格
布尔值为 false
数值为 0
但它没有给出预期的结果。
对于字符串情况,当字符串长度>0 但仅包含空格时,条件评估为假(使用的代码如下所示)。
/li>对于布尔值,无论布尔值如何,它都会评估为假(使用的代码如下);
/li>它在比较整数时显示错误。代码:
/li>
错误:
为什么它不能按照文档工作?