【问题标题】:Stopping a file inbound channel adapter after one one file is read读取一个文件后停止文件入站通道适配器
【发布时间】:2014-10-03 10:44:07
【问题描述】:

我们的应用程序使用 Spring Integration file:inbound-channel-adapter 来轮询目录以监听何时将文件拖放到该目录。然后 Spring Integration 启动一个 Spring Batch 作业,将要处理的文件的路径和名称交给该作业。

显然,即使在 Spring Batch 作业处理了文件之后,文件轮询器也会继续运行。因此,Spring 上下文保持打开状态,应用程序不会终止。有没有办法以编程方式或通过配置(首选)在读取一个文件后停止轮询器?

谢谢

【问题讨论】:

    标签: spring-batch spring-integration


    【解决方案1】:

    您可以在轮询器上使用FireOnceTrigger,或者在this answer 中描述的其他技术之一。

    要以编程方式停止适配器,close() 上下文,或调用adapter.stop()@Autowire 适配器作为SourcePollingChannelAdapter。或使用<control-bus/> 并发送带有负载"adapterId.stop()" 的消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2015-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多