Spring ApacheCamel:如何正确嵌套函数?
用骆驼的话说: 从Camel 2.9开始,您可以嵌套函数,如下所示: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: ${
<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}"))