2017-11-16 10 views
1

現在、ファイル受信用アダプタ(nio locker on)を使用してファイルを読み取り、ログに記録しています。ファイル送信アダプタを使用してロックされたファイルを移動する方法

ファイルを新しい場所(/ done)に移動するために、ファイルのアウトバウンドアダプタをフローの末尾に接続しようとしましたが、ファイルがロックされているためにエラーが発生するたびに発生します。

nio-lockerフラグを削除しても問題ありません。ここで問題となるのは、これらのファイルに対して複数のJVMを動作させたいということです。ファイルが2つのJVMによって検出される危険性があります。

おかげで、 クリスティ

答えて

0

はBeanとしてNioFileLockerを公開し、<locker ref="">の代わりに、内部<nio-locker>でその名前を使用してみてください。

ファイルを移動する準備ができたら、NioFileLocker beanとそのunlock(File)としてください。

私たちはそれがどのように動作するかをお知らせください。 <int-file:inbound-channel-adapter>の名前に基づいて豆の登録を修正することができます。

+0

こんにちは。私もこれについて考えましたが、私は同じディレクトリをスキャンする複数のJVM(プロセス)を持っていたかったのです。これを考えると、別のJVMがロック解除されたファイルをピックアップして移動させる可能性は非常に低いということです。このための解決策があるかどうかはわかりません。今のところ、NioLockerを削除したので、特定のフォルダをスキャンするJVMは1つしかありません。 – Cristi

+0

これはどうですか?https://stackoverflow.com/questions/35093757/move-a-file-without-releasing-lock? –

+0

ねえ。遅い応答にごめんね。私もそれを試みましたが、コピーは問題なく動作しますが、主な問題(ファイルは入力フォルダから削除できません)はまだ残っています。私たちがやったことは、決断を下し、ロックを避けるために、一度に1つのJVMだけが特定のフォルダをスキャンすることに同意します。 – Cristi

関連する問題