paulwong

          SPRING INTEGRATION子FLOW

          split-route-aggregate flow 
          split之后,可以將message分給不同的子flow處理,配置如下:
          @Bean
          public IntegrationFlow parallelSplitRouteAggregateFlow() {
              return IntegrationFlows
                      .from(Http.inboundGateway("/trigger"))
                      .handle((p, h) -> Arrays.asList(1, 2, 3))
                      .split()
                      .channel(MessageChannels.executor(Executors.newCachedThreadPool()))
                      .<Integer, Boolean>route(o -> o % 2 == 0, m -> m
                              .subFlowMapping(true, sf -> sf.gateway(oddFlow()))
                              .subFlowMapping(false, sf -> sf.gateway(evenFlow())))
                      .aggregate()
                      .get();
          }

          @Bean
          public IntegrationFlow oddFlow() {
              return flow -> flow.<Integer>handle((payload, headers) -> "odd");
          }

          @Bean
          public IntegrationFlow evenFlow() {
              return flow -> flow.<Integer>handle((payload, headers) -> "even");
          }


          https://stackoverflow.com/questions/50121384/spring-integration-parallel-split-route-aggregate-flow-fails-due-to-one-way-mess

          posted on 2020-10-15 11:29 paulwong 閱讀(501) 評論(0)  編輯  收藏 所屬分類: SPRINGSPRING INTERGRATIONSPRING BOOT

          主站蜘蛛池模板: 民丰县| 武威市| 来安县| 望谟县| 江油市| 蓬莱市| 昌邑市| 嘉兴市| 上饶市| 凌源市| 育儿| 崇明县| 永登县| 迁西县| 邹城市| 芜湖县| 工布江达县| 杭锦后旗| 上栗县| 江口县| 航空| 禹城市| 四会市| 蓝田县| 漳州市| 余姚市| 五原县| 镇沅| 安国市| 富源县| 淮阳县| 宿州市| 东阳市| 米林县| 三明市| 团风县| 玛纳斯县| 安远县| 北海市| 内丘县| 嘉鱼县|