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

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

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

    paulwong

    在SPRING INTEGRATION中手動(dòng)開始和停止JMS LISTENER

    如果要對(duì)JMS BROKER生產(chǎn)和消費(fèi)MESSAGE,一種方式是用JmsTemplate發(fā)送和消費(fèi)消息,另一種方式是SPRING INTEGRATION。

    SPRING INTEGRATION是實(shí)現(xiàn)了EIP模式的一種框架,即使用CHANNEL和JMS-INBOUND-ADAPTER、JMS-OUTBOUND-ADAPTER,完全脫離了JmsTemplate的API。

    如果需要實(shí)現(xiàn)這種場(chǎng)景:從BROKER取一條消息,處理消息,且處理途中不要再從BROKER再取消息,處理完后再取消息,再處理。

    這樣要求手動(dòng)開始和停止JMS LISTENER,即手動(dòng)開始和停止JMS-INBOUND-ADAPTER、JMS-OUTBOUND-ADAPTER。

    @Bean
    @InboundChannelAdapter(value = "loaderResponseChannel")
    public MessageSource loaderResponseSource() throws Exception {
        return Jms
                .inboundAdapter(oracleConnectionFactory())
                .configureJmsTemplate(
                        t -> t.deliveryPersistent(true)
                                .jmsMessageConverter(jacksonJmsMessageConverter())
                ).destination(jmsInbound).get();
    }

    當(dāng)使用@InboundChannelAdapter時(shí),會(huì)自動(dòng)注冊(cè)一個(gè)SourcePollingChannelAdapter ,但這個(gè)名字比較長(zhǎng):configrationName.loaderResponseSource.inboundChannelAdapter。

    呼叫這個(gè)實(shí)例的start()和stop()方法即可。

    @Bean
    public IntegrationFlow controlBusFlow() {
        return IntegrationFlows.from("controlBus")
                  .controlBus()
                  .get();
    }

    Message operation = MessageBuilder.withPayload("@configrationName.loaderResponseSource.inboundChannelAdapter.start()").build();
    operationChannel.send(operation)

    https://stackoverflow.com/questions/45632469/shutdown-spring-integration-with-jms-inboundadapter

    https://docs.spring.io/spring-integration/docs/5.0.7.RELEASE/reference/html/system-management-chapter.html#control-bus

    https://github.com/spring-projects/spring-integration-java-dsl/blob/master/src/test/java/org/springframework/integration/dsl/test/jms/JmsTests.java

    https://stackoverflow.com/questions/50428552/how-to-stop-or-suspend-polling-after-batch-job-fail

    posted on 2019-10-09 17:16 paulwong 閱讀(616) 評(píng)論(0)  編輯  收藏 所屬分類: SPRING INTERGRATION

    主站蜘蛛池模板: jizzjizz亚洲| 国产成人免费手机在线观看视频| 韩国免费一级成人毛片| 天天摸夜夜摸成人免费视频 | www成人免费观看网站| 最新久久免费视频| 亚欧免费视频一区二区三区| 国内自产拍自a免费毛片| 亚洲精品成人久久久| 亚洲av丰满熟妇在线播放 | 久久久久无码精品亚洲日韩| 亚洲AV综合色区无码二区爱AV| 精品久久久久久久久亚洲偷窥女厕| www.av在线免费观看| 最近2019免费中文字幕6| 国产公开免费人成视频| 亚洲av无码国产精品夜色午夜| 亚洲高清有码中文字| 一区二区三区在线免费观看视频| 91麻豆国产免费观看| 国产婷婷高清在线观看免费| 久久亚洲一区二区| 亚洲AV永久无码天堂影院| 免费无码又爽又刺激网站| 免费毛片在线看片免费丝瓜视频 | 亚洲视频在线免费| 亚洲最大在线观看| 特a级免费高清黄色片| 真人做人试看60分钟免费视频| 亚洲人成人无码网www国产| 亚洲成a人片77777群色| 国产成人1024精品免费| 一二三四影视在线看片免费| 亚洲无线观看国产精品| 亚洲熟妇AV日韩熟妇在线| 国产拍拍拍无码视频免费| 日韩在线免费播放| 亚洲欧洲日产韩国在线| 三级黄色免费观看| 日本免费人成视频播放| 亚洲老熟女@TubeumTV|