0
2つの別々のディレクトリから1つのローカルフォルダにsftp経由でファイルをロードしたいとします。Sftpインバウンドチャネルアダプタ:メッセージの重複
:「リモートのfolder1」になる「のtest.CSV」と呼ばれる新しいファイルは、私がログに次のメッセージを持っている場合<bean id="lastModifiedFileFilter" class="com.test.sftp.SftpLastModifiedFileListFilter">
<constructor-arg name="age" value="100"/>
</bean>
<int:poller id="fixedRatePoller" fixed-rate="100"
time-unit="SECONDS"/>
<int-sftp:inbound-channel-adapter id="inbound1"
session-factory="sftpSessionFactory"
auto-create-local-directory="true"
delete-remote-files="true"
remote-directory="/remote-folder1"
filter="lastModifiedFileFilter"
local-directory="/local-folder"
channel="nullChannel">
<int:poller ref="fixedRatePoller"/>
</int-sftp:inbound-channel-adapter>
<int-sftp:inbound-channel-adapter id="inbound2"
session-factory="sftpSessionFactory"
auto-create-local-directory="true"
delete-remote-files="true"
remote-directory="/remote-folder2"
filter="lastModifiedFileFilter"
local-directory="/local-folder"
channel="nullChannel">
<int:poller ref="fixedRatePoller"/>
</int-sftp:inbound-channel-adapter>
例えば:だから私はこのような2つのインバウンドチャネルアダプタを持っています
INFO Created message: [GenericMessage [payload=local-folder/test.csv, headers={id=bb76252a-e826-579d-b0e1-cab55a7cc957, timestamp=1508242673896}]] [task-scheduler-6][FileReadingMessageSource]
INFO Created message: [GenericMessage [payload=local-folder/test.csv, headers={id=a76de653-f805-8add-1e02-924d0915a18c, timestamp=1508242673962}]] [task-scheduler-2][FileReadingMessageSource]
これは変だと私はなぜ1つのファイルにつき2つのメッセージがあるのかわかりません。多分私は構成が間違っていますか?いくつかはこの行動を説明することができますか?
説明ありがとうございます! 私が一般的に望むのは、リモートサーバからsftp経由でローカルディレクトリに再帰的にファイル(サブディレクトリを含む)をコピーすることです。それ以上の処理をせずにコピーするだけです。 春の統合でこれを行う方法はありますか?私はそのことについて書類には何も見つかりませんでした。あなたは私に助言してもらえますか? –
本当ですか?どのように 'MGET'について:https://docs.spring.io/spring-integration/docs/4.3.12.RELEASE/reference/html/sftp.html#sftp-outbound-gateway? –