0

着信フォルダーを監視してファイルを処理する春の統合アプリケーションがあります。prevent-duplicates="true" を使用していましたが、false に変更する必要があります。ここでその理由を説明しました。 ファイル インバウンド チャネル アダプターのパフォーマンスの問題

現在、複数のスレッドが同じファイルを処理しています。助けてくれてありがとう!

<file:inbound-channel-adapter id="inFiles" channel="inFilesin" directory="file:${incoming.folder}" 
    queue-size="300" filename-regex="(?i)^(?!.*writing)" prevent-duplicates="false" auto-startup="true" auto-create-directory="false" >
        <int:poller id="fw.fileInboudPoller" fixed-rate="1" receive-timeout="3" time-unit="SECONDS"
            max-messages-per-poll="10" task-executor="taskExecutor" />
</file:inbound-channel-adapter>

<task:executor id="taskExecutor" pool-size="10-20" queue-capacity="20" rejection-policy="CALLER_RUNS" />

ありがとう、モハン

4

1 に答える 1

0

お気づきのように、ファイルシステムに非常に多数のファイルがある場合、スケーリングが困難になります。

代替テクノロジー、Rabbit、JMS などを検討することをお勧めします。

または、ここで説明されているように、カスタム ファイル ロッカーまたはディレクトリ スキャナーを実装することもできます。

この場合、提供されている nio-locker はマルチスレッド アクセスを妨げないため、役に立ちません。

于 2013-11-20T20:05:15.303 に答える