Reputation: 5867
How to use header value router using java dsl?. I want to route based on the value comes in the header.
If I pass false
to my gateway, it is giving me
"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;
}
Upvotes: 2
Views: 1347
Reputation: 5867
I need to set router.setResolutionRequired(false);
if you want to send to default channel when channel resolution failed.
Upvotes: 3