【发布时间】:2014-08-12 12:31:52
【问题描述】:
我有一个简单的 Spring Integration 4 Java DSL 流程,它使用 DirectChannel 的 LoadBalancingStrategy 循环 Message 对许多可能的 REST 服务的请求(即从两个可能的服务之一调用 REST 服务服务端点 URI)。
我的流程当前是如何配置的:
@Bean(name = "test.load.balancing.ch")
public DirectChannel testLoadBalancingCh() {
LoadBalancingStrategy loadBalancingStrategy = new RoundRobinLoadBalancingStrategy();
DirectChannel directChannel = new DirectChannel(loadBalancingStrategy);
return directChannel;
}
@Bean
public IntegrationFlow testLoadBalancing0Flow() {
return IntegrationFlows.from("test.load.balancing.ch")
.handle(restHandler0())
.channel("test.result.ch")
.get();
}
@Bean
public IntegrationFlow testLoadBalancing1Flow() {
return IntegrationFlows.from("test.load.balancing.ch")
.handle(restHandler1())
.channel("test.result.ch")
.get();
}
@Bean
public HttpRequestExecutingMessageHandler restHandler0() {
return createRestHandler(endpointUri0, 0);
}
@Bean
public HttpRequestExecutingMessageHandler restHandler1() {
return createRestHandler(endpointUri1, 1);
}
private HttpRequestExecutingMessageHandler createRestHandler(String uri, int order) {
HttpRequestExecutingMessageHandler handler = new HttpRequestExecutingMessageHandler(uri);
// handler configuration goes here..
handler.setOrder(order);
return handler;
}
我的配置有效,但我想知道是否有使用 Spring Integration 的 Java DSL 配置流的更简单/更好的方法?
干杯, 下午
【问题讨论】:
标签: spring-integration spring-dsl