簡體   English   中英

等待spring集成流程完成

[英]Wait for spring integration flow to complete

我有一個從目錄中讀取文件並執行一些操作的簡單流程:

   @Bean
public IntegrationFlow processMessage() {
    return IntegrationFlows
            .from(messageFlow1Directory(), c -> c
                    .id("flow1")
                    .autoStartup(false)
                    .poller(Pollers.fixedDelay(30000)
                    .errorChannel(errorMessageChannel())))
            .publishSubscribeChannel(s -> s
                    .subscribe(f -> f.handle("flow1Service", "processMessage"))
                    .subscribe(f -> f.handle(otherAction)))
            .get();
}

我已經實現了在我的一個主要課程中使用 controlBus 啟動它:

public static void main(String[] args) throws InterruptedException {
    SpringApplication.run(Flow1Main.class, args);
    controlBus.send(new GenericMessage<>("@flow1.start()"));
}

我想要的是在發送 stop() 並退出主 class 之前等待流程完成。我該怎么做?

預先感謝您的幫助

如果您只想處理一條消息,使用網關發送消息會更容易,而不是啟動/停止輪詢器。

https://docs.spring.io/spring-integration/docs/current/reference/html/messaging-endpoints.html#gateway

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM