【发布时间】:2017-10-03 10:49:44
【问题描述】:
在 Spring Integration 中遇到文件适配器的一些问题,我不知道,因为我以前从未听说过。使用以下代码从 FTP 文件夹中读取文件并将其写入本地目录。
问题是服务器启动后,第一次运行正常。但是随后的调用会调用文件适配器,但文件移动过程并未发生。
Cron 计时是:0/20 * * * * ?。
对这种奇怪的行为有什么想法吗?
<int:channel id="txtFilesIn">
<int:dispatcher task-executor="executor"/>
</int:channel>
<int:channel id="txtFilesOut">
<int:dispatcher task-executor="executor"/>
</int:channel>
<int-file:inbound-channel-adapter id="txtFilesIn"
directory="${FILE_IN}"
filename-pattern="*.csv"
auto-startup="true">
<int:poller cron="${CRON_TAB}" ></int:poller>
</int-file:inbound-channel-adapter>
<int:service-activator input-channel="txtFilesIn"
output-channel="txtFilesOut"
ref="apiCommonService"
method="readFile"/>
<int-file:outbound-channel-adapter id="txtFilesOut"
directory="${FILE_OUT}"
delete-source-files="true"/>
编辑 1:
这样修改
<int-file:inbound-channel-adapter id="txtFilesIn"
directory="${FILE_IN}"
auto-startup="true"
local-filter="acceptAll">
<int:poller cron="${CRON_TAB}" ></int:poller>
</int-file:inbound-channel-adapter>
<bean id="acceptAll" class="org.springframework.integration.file.filters.AcceptAllFileListFilter" />
现在工作正常。
【问题讨论】: