Camel 习惯用法根据消息正文中的值动态路由

发布于 2024-12-06 04:32:32 字数 380 浏览 1 评论 0原文

假设您有这样的路由:

from("direct:start").to("http://some.endpoint/accounts/");

其中通过 direct:start 传递的消息是 XML:

<payload>
    <account id="1">Bob</account>
</payload>

提取帐户的 id 并将其附加到 to 的惯用方法是什么? 端点以便将此消息发送到 http://some.endpoint/accounts/1

Suppose you have a route like:

from("direct:start").to("http://some.endpoint/accounts/");

where message passed through direct:start is an XML:

<payload>
    <account id="1">Bob</account>
</payload>

What's the idiomatic way to extract the account's id and append it to the to endpoint in order to send this message to http://some.endpoint/accounts/1?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

千仐 2024-12-13 04:32:32

您可以使用收件人列表模式根据 Exchange 数据创建动态端点。

from("direct:start")
.recipientList(constant("http://some.endpoint/accounts/")
              .append(XPathBuilder.xpath("/payload/account/@id", String.class)));

you can use the recipient list pattern to create dynamic endpoints based on Exchange data.

from("direct:start")
.recipientList(constant("http://some.endpoint/accounts/")
              .append(XPathBuilder.xpath("/payload/account/@id", String.class)));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文