Is there a way to start the file:inbound-channel-adapter through code?(有没有办法通过代码启动文件:inbound-Channel-Adapter?)
问题描述
我遇到了将特定文件从一个位置复制到另一个位置的情况。轮询不是必需的,因为该操作将被故意触发。此外,在运行时决定从中选取文件的目录。我可以进行如下配置:
<int-file:inbound-channel-adapter id="filesIn" directory="@outPathBean.getPath()" channel="abc" filter="compositeFilter" >
<int:poller id="poller" fixed-delay="5000" />
</int-file:inbound-channel-adapter>
<int:channel id="abc"/>
<int-file:outbound-channel-adapter channel="abc" id="filesOut"
directory-expression="file:${paths.root}"
delete-source-files="true" filename-generator="fileNameGenerator" />
还配置了文件名生成器和复合筛选器类。
我对春天不熟悉。请给我指出正确的方向!!
推荐答案
您可以使用this answer中讨论的FireOnceTrigger
,并根据需要启动/停止适配器。
获取对适配器的引用(aSourcePollingChannelAdapter
)、插入(或@Autowire
等。)它作为Lifecycle
Bean(start()
/stop()
等)。
或者您可以使用FileReadingMessageSource
以编程方式完成整个操作,如this answer中所述。
这篇关于有没有办法通过代码启动文件:inbound-Channel-Adapter?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:有没有办法通过代码启动文件:inbound-Channel-Adapter?
基础教程推荐
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01