Spring integration Spring集成入站通道适配器:进行一次轮询并退出

Spring integration Spring集成入站通道适配器:进行一次轮询并退出,spring-integration,Spring Integration,我需要制作一个小型Spring集成应用程序,将一个表从一个JDBC源同步到另一个源,我只需要偶尔启动该脚本一次 我想从入站通道适配器进行一次轮询(等待消息流经链),然后退出应用程序 我找不到任何明显的方法:有什么建议吗?@Steve建议正确的解决方案 您应该使您的具有较长的固定延迟不要启动新的轮询任务。或者在轮询任务运行后立即停止。为此,只需将频道设置为,然后再添加一个订户,如: <outbound-channel-adapter channel="processChannel" expr

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

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


我找不到任何明显的方法:有什么建议吗?

@Steve建议正确的解决方案

您应该使您的
具有较长的
固定延迟
不要启动新的轮询任务。或者在轮询任务运行后立即停止
。为此,只需将
频道
设置为
,然后再添加一个订户,如:

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

@史蒂夫提出了正确的解决方案

您应该使您的
具有较长的
固定延迟
不要启动新的轮询任务。或者在轮询任务运行后立即停止
。为此,只需将
频道
设置为
,然后再添加一个订户,如:

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

谢谢你,阿泰姆!绝妙的解决方案!使用表达式退出应用程序非常有效!很抱歉再次提出这个老问题,但我正在处理一个类似的问题,我想知道您是否可以发布您的解决方案的片段。我的SI应用程序使用一个
int jdbc:stored proc inbound channel adapter
和一个
int file:outbound channel adapter
。我已将
配置更改为
,但在解决方案中,在哪里插入
出站通道适配器?我是否需要在Java代码中添加订阅服务器?有什么例子吗?很抱歉,刚接触Spring(集成)的人仍然在试图弄清楚一切是如何工作的……把它放在哪里并不重要。唯一重要的是,您应该为该适配器使用相同的
。别忘了使用
order
选项将其作为第二个订户。有关这些组件和选项,请参阅XSD文档。输入适配器向通道发送消息,输出-接收。没有意义。。。正是
订单
造成了这种情况。你正确地使用它。也许你有一些异步切换?如果您启动一个新的SO线程并在那里共享调试日志,以确认即使使用这种配置,
exit(0)
也会在文件写入之前发生,这会更好。谢谢Artem!绝妙的解决方案!使用表达式退出应用程序非常有效!很抱歉再次提出这个老问题,但我正在处理一个类似的问题,我想知道您是否可以发布您的解决方案的片段。我的SI应用程序使用一个
int jdbc:stored proc inbound channel adapter
和一个
int file:outbound channel adapter
。我已将
配置更改为
,但在解决方案中,在哪里插入
出站通道适配器?我是否需要在Java代码中添加订阅服务器?有什么例子吗?很抱歉,刚接触Spring(集成)的人仍然在试图弄清楚一切是如何工作的……把它放在哪里并不重要。唯一重要的是,您应该为该适配器使用相同的
。别忘了使用
order
选项将其作为第二个订户。有关这些组件和选项,请参阅XSD文档。输入适配器向通道发送消息,输出-接收。没有意义。。。正是
订单
造成了这种情况。你正确地使用它。也许你有一些异步切换?如果您启动一个新的SO线程并在那里共享调试日志,以确认即使使用这样的配置,
退出(0)
也会在文件写入之前发生,这会更好。感谢Steve指出正确的解决方案!感谢Steve指出正确的解决方案!