Spring integration 如何使用JavaDSL使用头值路由器?

Spring integration 如何使用JavaDSL使用头值路由器?,spring-integration,Spring Integration,如何使用JavaDSL使用头值路由器?。我想根据标题中的值进行路由 如果我将false传递给我的网关,它将给我 “未定义名为'false'的bean” 我需要设置router.setResolutionRequired(false)如果您想在频道解析失败时发送到默认频道。这是正确答案。你甚至可以在这里接受你自己的! @MessagingGateway public interface RouterGateway { @Gateway(requestChannel = "testCh

如何使用JavaDSL使用头值路由器?。我想根据标题中的值进行路由

如果我将
false
传递给我的网关,它将给我

“未定义名为'false'的bean”


我需要设置
router.setResolutionRequired(false)如果您想在频道解析失败时发送到默认频道。

这是正确答案。你甚至可以在这里接受你自己的!
@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;
    }