我制定了规则
rule "NullCheck_Rule1"
salience 1
dialect "mvel"
date-effective "16-Nov-2017 00:00"
no-loop
when
$cdr : JSONObject( $cdr.optString("name") == null)
then
$cdr.put("Action_1" ,"SEND MAIL");end
并且不为空
rule "NullCheck_Rule1"
salience 1
dialect "mvel"
date-effective "16-Nov-2017 00:00"
no-loop
when
$cdr : JSONObject( $cdr.optString("name") != null)
then
$cdr.put("Action_1" , "SEND MAIL");end
我的输入是这样的
"{\"id\":100,\"name\":null,\"city\":\"Pune\"}"
但即使我使用像
$cdr.optString("name") IS NULL
OR $cdr.optString("name") IS NOT NULL
这样的条件,它也不匹配条件
那么drools中如何处理null和not null。我使用的drools版本是6.5.0.Final。
我在 drools 导入代码块中导入了包来处理 NULL 或 NOT NULL。例如“import org.apache.commons.lang3.StringUtils;”封装在规则块之前,在规则块中使用 isBlank/isNotBlank 函数来处理 Null 问题。