将动态路由器EIP与负载均衡器EIP配合使用

时间:2015-07-04 02:49:13

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

我希望重定向DynamicRouterBean中的消息,具体取决于负载均衡器EIP发送到的位置。我试图使用@Header(Exchange.SLIP_ENDPOINT)访问DynamicRouterBean中的前一个端点,但是它被设置为null(为什么?)。即使我得到了Exchange(在DynamicRouterBean中),fromEndPoint也是直接的:// my-lb(但是它应该是直接的:// my-lb-a或direct:// 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"));

1 个答案:

答案 0 :(得分:0)

这对我有用,谢谢克劳斯易卜生。如果你能回答而不是评论那么我会接受你的答案会很棒。)

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