为什么我必须在camel路由定义中使用${body}而不是{{body}}

qmb5sa22  于 9个月前  发布在  Apache
关注(0)|答案(1)|浏览(59)

Camel文档指出属性占位符使用{{prop_name}},但是如果我将其定义为:

<route>
    <from uri="timer:test-timer?period=5000" />
    <setBody>
        <simple>Hello world!</simple>
    </setBody>
    <log message="Body: {{body}}" />
</route>

但是,如果定义为:

<route>
    <from uri="timer:test-timer?period=5000" />
    <setBody>
        <simple>Hello world!</simple>
    </setBody>
    <log message="Body: ${body}" />
</route>

有人能解释一下为什么在这种情况下,属性占位符替换不起作用吗?
谢谢

lnxxn5zx

lnxxn5zx1#

我了解到{{body}}不工作的原因是因为body是一个Simple DSL属性,当然,它只在Simple DSL中可用。
{{key}}占位符仅适用于显式定义的属性。

相关问题