0
私はftpチャネルで受信したファイルを処理するためにapache camelを使用します。私のアプリケーションはクラスタ(4ノード)にデプロイされています。そのために、RedisIdempotentRepositoryを使用して、単一のノードがファイルを確実に処理するようにします。私の問題は、処理後にファイルを削除したい場合です。delete=true
を使用すると、ノードBはファイルを処理し、ファイルを削除します。ノードBはノードBがフィルタを通過しないため、ファイルを削除します。したがって、削除に直接アクセスします。クラスタ内で処理されたファイルapache-camelを削除します。
ノードAにファイルの削除のみ許可する方法を知りたいですか?
from("sftp://host:port/folder?delete=true)
.idempotentConsumer(simple("${file:onlyname}"),
RedisIdempotentRepository.redisIdempotentRepository(redisTemplate, "camel-repo"))
.bean("orderTrackingFileProcessor");
"フィルタ"とは何ですか?ノードBがフィルタを通過したり通過したりするとはどういう意味ですか? –
「フィルタ」とは、ノードBがファイル名がredisデータベースに存在するかどうかをチェックすることです。 –