Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring ApacheCamel:如何正确嵌套函数?_Spring_Apache Camel - Fatal编程技术网

Spring ApacheCamel:如何正确嵌套函数?

Spring ApacheCamel:如何正确嵌套函数?,spring,apache-camel,Spring,Apache Camel,用骆驼的话说: 从Camel 2.9开始,您可以嵌套函数,如下所示: <setHeader headerName="myHeader"> <simple>${properties:${header.someKey}}</simple> </setHeader> 但我有一个例外: Caused by: org.apache.camel.language.simple.types.SimpleIllegalSyntaxException: ${

用骆驼的话说:

从Camel 2.9开始,您可以嵌套函数,如下所示:

<setHeader headerName="myHeader">
  <simple>${properties:${header.someKey}}</simple>
</setHeader>
但我有一个例外:

Caused by: org.apache.camel.language.simple.types.SimpleIllegalSyntaxException: ${ cannot accept or at location 22
${property.${property.prefix}variableName}
我做错了什么


我正在使用Camel版本2.13.0

我确认以下代码在Camel
2.13.0
上运行良好:

from("...")
    .setProperty("prefix", constant("pre-"))
    .setProperty("pre-variable", constant("value"))
    .setHeader("myHeader", simple("${property.${property.prefix}variable}"))

prefix
属性中可能有特殊字符,无法正确解析。

我的前缀仅包含字母和下划线。但是您在from(“…”)的结果上设置了属性,而我在exchange上设置了属性。嗯,在
from(…)
的结果上设置它相当于在exchange上设置。创建在exchange上设置属性的处理器的工作原理类似。也许你可以分享更多关于骆驼路线的内容,以帮助确定两者的区别。
Caused by: org.apache.camel.language.simple.types.SimpleIllegalSyntaxException: ${ cannot accept or at location 22
${property.${property.prefix}variableName}
from("...")
    .setProperty("prefix", constant("pre-"))
    .setProperty("pre-variable", constant("value"))
    .setHeader("myHeader", simple("${property.${property.prefix}variable}"))