Spring IntegrationでFile Adapterに関するいくつかの問題が発生しており、これまでにこれまで聞いたことはありませんでした。以下のコードを使用してFTPフォルダからファイルを読み込み、ローカルディレクトリに書き込みます。Spring統合 - 最初の試行後にファイルアダプタが動作しない
問題は、サーバーが起動した後、初めて正常に動作します。しかし、その後の呼び出しではファイル・アダプタが呼び出されますが、ファイル移動プロセスは実行されません。
クロムタイミングは: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"/>
EDIT 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" />
のように変更された
それは今、正常に動作しています。
ファイルアダプタは10分ごとに1回実行され、INフォルダにファイルをもう一度配置しました。これはうまくいくはずなので、IIRCのポーリングがそこにある理由です。しかし、それは起こっていないと私は理由を知らない! – Rajkumar
'私はちょうどファイルを再配置しました。それは重要な部分です(!!!)。 'AcceptOnceFileListFilter'を参照してください。同じファイルを再度処理することはできません。フィルタリングロジックはファイル名に基づいています。ですから 'delete-source-files =" true "' onを使う限り、別の名前のファイルを置くか、この 'AcceptOnceFileListFilter'を' 'から無効にしなければなりませんアウトバウンド側。 –
acceptAllFilterでコードを修正しても問題ありません。助けてくれてありがとう。 – Rajkumar