【发布时间】:2023-04-07 16:05:01
【问题描述】:
我有一个从目录读取文件并执行一些操作的简单流程:
@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() 并退出主类之前等待流程完成。 我该怎么做?
提前感谢您的帮助
【问题讨论】:
标签: java spring-integration spring-integration-dsl