在Camel的Simple documentation中,他们说:
从Camel 2.9开始,您可以嵌套函数,如下所示:
<setHeader headerName="myHeader"> <simple>${properties:${header.someKey}}</simple> </setHeader>
以下是我要做的事情:
<simple>${property.${property.prefix}variableName}</simple>
我正在尝试访问名称为的交换媒体资源:
exchange.getProperty("prefix", String.class) + "variableName"
但是我得到了这个例外:
Caused by: org.apache.camel.language.simple.types.SimpleIllegalSyntaxException: ${ cannot accept or at location 22
${property.${property.prefix}variableName}
我在这里做错了什么?
我使用的是Camel版 2.13.0 。
答案 0 :(得分:0)
我确认以下代码适用于Camel 2.13.0
:
from("...")
.setProperty("prefix", constant("pre-"))
.setProperty("pre-variable", constant("value"))
.setHeader("myHeader", simple("${property.${property.prefix}variable}"))
prefix
属性中可能包含阻止正确解析的特殊字符。