0

我正在使用骆驼 2.17.0。我需要在 blueprint.xml 文件中使用简单语言的 in 运算符,如下所示

<choice id="_choice3"> <when id="_when3"> <simple>${header.STATUS} in 'Draft,Review'</simple> ......

但是,它不起作用并引发以下异常:

org.apache.camel.CamelExecutionException:在交易所执行期间发生异常:Exchange[ID-A5668784-61983-1579873128661-9-6] at org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1706) at org.apache.camel.builder.SimpleBuilder.createPredicate(SimpleBuilder.java:104) 在 org.apache.camel.builder.SimpleBuilder.matches(SimpleBuilder.java:83)

顺便说一句,我长期以来一直在使用选择/何时条件。然后我尝试使用 || 和或运算符如下:

<simple>(${header.STATUS.contains("Draft")} or ${header.STATUS.contains("Review")})</simple>
<simple>(${header.STATUS} contains 'Draft' || ${header.STATUS} contains 'Review')</simple>
<simple>(${header.STATUS} contains 'Draft' or ${header.STATUS} contains 'Review')</simple>

在所有情况下,它都会引发相同的异常。请帮忙。提前致谢

4

1 回答 1

0

最后你可能会丢失那些额外的“()”(括号)。你能试试这样的吗

<simple>${header.STATUS} contains'Draft' or ${header.STATUS} contains 'Review'</simple>

我预先假设您在标题中设置草稿(字符串)值。

我希望它有所帮助。:)

于 2020-01-27T13:38:18.167 回答