【发布时间】:2014-01-07 13:58:41
【问题描述】:
我在骆驼路线中使用这个表达式:
.when(simple("${body.updateSeq} > ${property.PrevUpdateSeq} + 1"))
.to("direct:someError")
但是,+ 符号让我感到很害怕。
org.apache.camel.language.simple.types.SimpleIllegalSyntaxException: Unexpected token + at location 46
${body.updateSeq} > ${property.PrevUpdateSeq} + 1
*
我如何构造这个表达式,假设它从消息体上 POJO 的 getter getUpdateSeq 中获取一个值,并将其压缩为 Exchange 上的一个属性(加 1)。
【问题讨论】:
-
我建议你用bean而不是简单的语言来计算。 Simple Language 中没有可用的运算符
+- 你有一个增量++运算符,它要求左侧是一个函数。 -
谢谢,我做到了。如果您愿意将其写为答案,我会接受。否则,我考虑过使用差异表达语言(javascript?spel?),但我觉得这会使事情复杂化。
标签: java apache-camel simple-el