骆驼子串操作-从消息正文末尾开始的n个字符

camel substring operation- n characters from end of message body

这对你们大多数人来说可能是一个上篮,所以我提前道歉。 我正在使用带有 spring DSL 的 Apache camel。 我的消息正文已转换为字符串。我想要从第 9 到第 998 个字符的所有内容,最好使用简单的表达式。我试过了

<transform>
  <simple>${body.substring(8,${body.length}-1)}</simple>
</transform>

但 Camel 无法识别减法。因此,它将尝试将字符串 "1045-2" 转换为整数,但显然会失败。这里有解决方法吗?

使用groovy、javascript等更强大的动态编程语言

<groovy>request.body.substring(8, request.body.length-1)</groovy>

您还需要添加 camel-groovy 作为依赖项以及 groovy。

下面的代码片段可以工作。

<transform>
  <simple>${body.substring(8,${body.length()-1})}</simple>
</transform>