gpt4 book ai didi

apache-camel - 动态拦截 Camel 端点

转载 作者:行者123 更新时间:2023-12-04 00:40:48 24 4
gpt4 key购买 nike

我正在尝试拦截 URI 的值与交换 header 中的某些信息匹配的端点。

假设我在 header 中有一个名为 DatabaseName 的字段。我想强制执行特定路由仅写入 header 中指定的数据库。

我可以做这样的事情吗?

interceptSendToEndpoint("mock:${in.header.DatabaseName}")

我试过了,但是好像不行。我有哪些选择?

我也在考虑做这样的事情:

interceptSendToEndpoint("mock:*").when(...)?

但在这种情况下,我不确定我是否可以在when表达式中引用被拦截节点的URI。

谢谢

最佳答案

您可以使用通配符进行拦截,并将其与何时执行您想要的操作相结合,详情请参阅:http://camel.apache.org/intercept

消息上的 header 具有键 Exchange.INTERCEPTED_ENDPOINT (CamelInterceptedEndpoint),它具有被拦截的端点 uri。您可以在 when 中使用它来匹配谓词。类似的东西:

interceptSendToEndpoint("mock:*")
.when(simple("${header.CamelInterceptedEndpoint} == ${in.header.DatabaseName}"))
...

关于apache-camel - 动态拦截 Camel 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18972834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com