【问题标题】:Using the Dynamic Router EIP with the Load Balancer EIP将动态路由器 EIP 与负载均衡器 EIP 结合使用
【发布时间】:2015-09-21 20:39:06
【问题描述】:

我想根据负载均衡器 EIP 将消息发送到的位置重定向 DynamicRouterBean 中的消息。我试图使用 @Header(Exchange.SLIP_ENDPOINT) 访问 DynamicRouterBean 中的前一个端点,但它被设置为 null(为什么?)。即使我得到 Exchange(在 DynamicRouterBean 中),fromEndPoint 是直接://my-lb(但预计它是直接://my-lb-a 或直接://my-lb-b? )。

我后来使用 CamelHistory 来查看消息曾经是哪些端点但仍有问题。上一个端点(或 fromEndPoint 或 Exchange.SLIP_ENDPOINT)不是负载均衡器端点之一吗?

from("direct://my-lb")
    .loadBalance().roundRobin()
        .to("direct://my-lb-a")
        .to("direct://my-lb-b")
    .end()
.dynamicRouter(method(DynamicRouterBean.class, "slip"));

【问题讨论】:

  • 是的,有一个 TO_ENDPOINT - 只需仔细查看您在交易所拥有的数据

标签: apache-camel load-balancing enterprise-integration


【解决方案1】:

这对我有用,谢谢克劳斯易卜生。如果您能回答而不是发表评论,那就太好了,所以我可以接受您的回答:)

public String slip(String body, @Header(Exchange.TO_ENDPOINT) String toEndPoint) {
...
}

【讨论】:

    猜你喜欢
    • 2019-12-13
    • 1970-01-01
    • 2019-12-14
    • 2023-01-13
    • 2021-12-07
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 2019-07-16
    相关资源
    最近更新 更多