apache-camel URI中的简单表达式

ecfdbz9o  于 2022-12-18  发布在  Apache
关注(0)|答案(3)|浏览(209)

我是apache-camel的新手,我知道我遇到了一个问题,我想在我的uri定义中使用简单的表达式,但是我不知道怎么做。
例如:

from("foo://bar").to("foo://bar?var=${header.varName}");

有没有办法使用这样的表达方式?

e4yzc0pl

e4yzc0pl1#

伯恩哈德
http://camel.apache.org/how-do-i-use-dynamic-uri-in-to.html
使用收件人列表EIP模式,该模式允许您使用表达式计算动态URI。例如,使用简单表达式语言,如下所示:

recipientList(simple("freemarker://templateHome/${body.templateName}.ftl"))
kfgdxczn

kfgdxczn2#

另一种方法是在标头中使用“CamelXsltResourceUri”属性。

.setHeader("CamelXsltResourceUri",simple("xslt:<path>/<to>/<template>"))

收件人列表(简单(“自由标记://模板主页/${正文.模板名称}.ftl”))
所选答案不适用,因为我必须使用自定义的urisolver

0mkxixxg

0mkxixxg3#

使用toD(),则可以使用动态URI。收件人列表用于多个目的地,而不是正确的EIP。
但是,您可能需要避免使用simple()表达式创建过多不同的URL。请参阅:https://camel.apache.org/components/3.18.x/eips/toD-eip.html

相关问题