Spring 集成 Inbound-channel-adapter:进行一次轮询并退出

Spring Integration Inbound-channel-adapter: make one poll and exit

我需要制作一个小型 Spring 集成应用程序,将 table 从 JDBC 源同步到另一个源,我只需要启动该脚本一次尽管。

我想从入站通道适配器进行一次轮询(等待消息流过链)并退出应用程序。

我找不到任何明显的方法来做到这一点:有什么建议吗?

@Steve 建议正确的解决方案。

你应该让你的 <poller>fixed-delay 不启动新的轮询任务。或者在轮询任务 运行 之后停止一个 <inbound-channel-adapter>。为此,只需将 channel 设为 <publish-subscribe-channel> 并再添加一个订阅者,例如:

<outbound-channel-adapter channel="processChannel" expression="@adapter.stop()">

所以,这是第一部分:如何只制作单曲poll

回复。 System.exit()

您应该在流程末尾添加类似 outbound-channel-adapter:

<outbound-channel-adapter channel="endProcessChannel" expression="T(System).exit()">