2016-05-03 11 views
1

Muleでフォルダをポーリングして3つのファイルを取り出し、別々のフォルダに転送するフローを開発したいと考えています。ファイルのうち1つが存在しない場合は、エラーがログに記録されるか電子メールが送信され、3つのファイルがすべて存在する場合は処理が行われます。 私はフォルダ内のすべてのファイルをピックアップし、それを宛先フォルダに転送するファイルエンドポイントを持つフローを開発しました。しかし、私は受け取ったファイル(例えば3)をカウントし続けるか、この場合にファイル名を読んでから、Choiceコンポーネントの助けを借りてフローを指示する方法を知らない。 ご協力いただければ幸いです。Muleでの複数ファイル転送

答えて

0

ファイルインバウンドエンドポイントを使用すると、3つの別々のスレッドが作成されるため、役立たない可能性があります(つまり、フォルダから各ファイルに対してフローが実行されることを意味します)。 1)最初に特定の間隔でトリガーするクォーツスケジューラを使用する 2)Javaコンポーネントを使用し、java IOを使用してフォルダをポーリングし、3つのファイル名を読み取る 3)ビジネスロジックを実行する3つのファイルがすべて利用可能かどうか、それが読み取られて処理される(別のフォルダに移動するなど)

これは複数のフローを処理するよりも賢明なアプローチです。

ファイルエンドポイントのメッセージディスパッチャをオーバーライドすることもできますが、単純なユースケースではQuartzを使用するよりも複雑です。

+0

感謝としてあなたの提案のためにたくさんのカウンタ値を与えるためにラバ、リクエスタを使用しています。ファイル転送にどのようなエラー処理を行うべきか教えてください。私はすべての異なる例外をキャッチする必要があることを意味しますか? – user6284034

0

こんにちは、ファイルを取得し、VMに送信し、それぞれのポーリング時間の使用後にファイルをフェッチし、3つの

+0

お寄せいただきありがとうございます。 – user6284034

関連する問題