如何使用 header 值路由器使用 java dsl?
How to use header value router using java dsl?
如何通过 java dsl 使用 header 价值路由器?。我想根据 header.
中的值进行路由
如果我将 false
传递到我的网关,它会给我
"No bean named 'false' is defined"
@MessagingGateway
public interface RouterGateway {
@Gateway(requestChannel = "testChannel")
String route(@Payload String payload, @Header("enabled") String isEnabled);
}
@Bean
public IntegrationFlow routerFlow() {
return IntegrationFlows.from("testChannel")
.route(headerRouter())
.get();
}
@Bean
public HeaderValueRouter headerRouter() {
HeaderValueRouter router = new HeaderValueRouter("enabled");
router.setIgnoreSendFailures(true);
router.setChannelMapping("true", "helloChannel");
router.setDefaultOutputChannel(defaultOutputChannel());
return router;
}
如果频道解析失败时要发送到默认频道,我需要设置router.setResolutionRequired(false);
如何通过 java dsl 使用 header 价值路由器?。我想根据 header.
中的值进行路由如果我将 false
传递到我的网关,它会给我
"No bean named 'false' is defined"
@MessagingGateway
public interface RouterGateway {
@Gateway(requestChannel = "testChannel")
String route(@Payload String payload, @Header("enabled") String isEnabled);
}
@Bean
public IntegrationFlow routerFlow() {
return IntegrationFlows.from("testChannel")
.route(headerRouter())
.get();
}
@Bean
public HeaderValueRouter headerRouter() {
HeaderValueRouter router = new HeaderValueRouter("enabled");
router.setIgnoreSendFailures(true);
router.setChannelMapping("true", "helloChannel");
router.setDefaultOutputChannel(defaultOutputChannel());
return router;
}
如果频道解析失败时要发送到默认频道,我需要设置router.setResolutionRequired(false);