1

Mule ESB サーバーにフォルダーがあり、複数のソース (1 つの SCP、1 つの SFTP、および他のソース) を指すことができます。 ファイルを検出するたびに、それを別のディレクトリに移動したいと考えています。問題は、部分的に完成したファイルを移動すると、データが失われることです。

File の「fileage」属性を使用してみましたが、確実に機能しないようです。ほとんどのファイルは 10kb 未満ですが、一部のファイルは 100mb まで大きくする必要があるため、レイテンシーをできるだけ低く抑えようとしています。

ファイルが部分的か完全かを知る方法はありますか? WinSCP が .filepart 拡張子を使用していることは知っていますが、これは 1 つのアプリケーション用であり、その場合でも WinSCP の設定でその拡張子を変更 (または完全に削除) できます。

4

1 に答える 1

2

私は自分の問題を解決しました。

もう少しテストすると、問題は OS レベルにあることがわかります。RedHat では、「最終更新日」のタイム スタンプが 1000 ミリ秒ごとにしか更新されないため、4kb ファイルの遅延が大きすぎます。Windows ではさらに悪いことです。「最終更新日」は転送の開始時にのみ設定され、転送が完了するとリセットされます。MuleSoft チームは、このタイム スタンプから fileAge をプルすることは技術的に正しいですが、OS はそれを機能させるのに十分な頻度で更新していません。代わりにファイルサイズを使用する必要があります。ワークアラウンド チケットを送信します。

于 2012-04-24T13:00:12.853 に答える