<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    SPRING INTEGRATION SCATTERGATHER

    場(chǎng)景,餐廳:
    1. 食客下單,有飲品、食物、甜點(diǎn)
    2. 侍應(yīng)接單,傳送給廚房
    3. 廚房分三個(gè)子流程處理,即飲品、食物、甜點(diǎn)子流程
    4. 等待三個(gè)子流程處理完,合并成一份交付
    5. 如果廚房發(fā)現(xiàn)某食物欠缺,會(huì)通知侍應(yīng),展開錯(cuò)誤處理,即通知食客更改食物,再交給廚房
    6. 侍應(yīng)將交付品傳送給食客
    有一個(gè)主流程、三個(gè)子流程和一個(gè)聚合流程,聚合流程會(huì)聚合三個(gè)子流程的產(chǎn)物,通知主流程,再往下走。
    并且主流程會(huì)感知子流程的錯(cuò)誤,并會(huì)交給相應(yīng)錯(cuò)誤處理流程處理,且將結(jié)果再交給聚合流程。

    對(duì)應(yīng)SPRING INTEGRATION 的SCATTERGATHER模式:
    @Bean
    public IntegrationFlow scatterGatherAndExecutorChannelSubFlow(TaskExecutor taskExecutor) {
        return f -> f
                .scatterGather(
                        scatterer -> scatterer
                                .applySequence(true)
                                .recipientFlow(f1 -> f1.transform(p -> "Sub-flow#1"))
                                .recipientFlow(f2 -> f2
                                        .channel(c -> c.executor(taskExecutor))
                                        .transform(p -> {
                                            throw new RuntimeException("Sub-flow#2");
                                        })),
                        null,
                        s -> s.errorChannel("scatterGatherErrorChannel"));
    }

    @ServiceActivator(inputChannel = "scatterGatherErrorChannel")
    public Message<?> processAsyncScatterError(MessagingException payload) {
        return MessageBuilder.withPayload(payload.getCause().getCause())
                .copyHeaders(payload.getFailedMessage().getHeaders())
                .build();
    }

    https://github.com/adnanmamajiwala/spring-integration-sample/tree/master/dsl-scatter-gather/src/main/java/com/si/dsl/scattergather

    https://docs.spring.io/spring-integration/docs/5.1.x/reference/html/#scatter-gather

    posted on 2021-01-28 10:11 paulwong 閱讀(300) 評(píng)論(0)  編輯  收藏 所屬分類: SPRING INTERGRATION

    主站蜘蛛池模板: 亚洲国产精品第一区二区三区| 在线看片免费人成视频播| 日韩免费视频一区二区| 国产偷窥女洗浴在线观看亚洲| 久久亚洲中文字幕无码| 亚洲美女在线国产| 中文毛片无遮挡高清免费| 老汉精品免费AV在线播放| 亚洲视频一区二区三区| 日韩电影免费观看| 欧洲 亚洲 国产图片综合| 久久99国产亚洲高清观看首页| 免费国产a国产片高清网站| 中文字幕看片在线a免费| 亚洲日韩精品无码AV海量| 亚洲成a人片在线观看播放| 亚洲av无码不卡一区二区三区| 亚洲国产一级在线观看| 女人张开腿给人桶免费视频| 台湾一级毛片永久免费| 18未年禁止免费观看| 久久99精品免费视频| 国色精品va在线观看免费视频| 久久99久久成人免费播放| 午夜不卡AV免费| 免费在线观看一区| 日韩亚洲人成在线综合| 色偷偷尼玛图亚洲综合| 国产亚洲人成在线播放| 久久精品熟女亚洲av麻豆| 亚洲AV成人一区二区三区观看 | 亚洲第一永久AV网站久久精品男人的天堂AV | 精品久久久久久亚洲精品| 亚洲国产福利精品一区二区| 亚洲福利视频网址| 91亚洲导航深夜福利| 亚洲国产情侣一区二区三区| 亚洲国产午夜精品理论片 | 国产高清不卡免费在线| 亚洲一级特黄大片无码毛片| 三年片在线观看免费|