新規ファイルの作成時またはファイルの変更時にフローをトリガーする方法

ファイル、FTP、および SFTP 用 Anypoint Connector では、ディレクトリをポーリングして、作成または更新されたファイルがないかどうかを確認する ​On New or Updated File​ 操作が提供されます。見つかったファイルごとにメッセージが生成されます。

次の戦略は、ファイルが新規かどうかを判断します。

  • [Auto Delete (自動削除)]​ 項目を ​True​ に設定する: この方法では、各ファイルを処理した後で処理済みのファイルを削除するため、次のポーリングで取得されるすべてのファイルが新規とみなされます。

  • [Move To Directory (ディレクトリに移動)]​ 項目を設定する: この方法では、各ファイルを処理した後で処理済みのファイルを異なるディレクトリに移動するため、​[Auto Delete (自動削除)]​ と同じ効果を得ることができますが、ファイルが消去されることはありません。

  • [Watermark (ウォーターマーク)]​ 項目を設定する: この方法では、前回ポーリングが実行された後で作成または更新されたファイルのみを選択します。

ファイルをさらに絞り込むためにマッチャーを使用することもできます。

例: ファイルリスナー (新規ファイルトリガー)
<flow name="onNewFile">
    <file:listener config-ref="file" directory="test-data/in" autoDelete="true">
      <scheduling-strategy>
        <fixed-frequency frequency="1000"/>
      </scheduling-strategy>
    </file:listener>

    <flow-ref name="processFile" />
</flow>
xml

ウォーターマーク

File Connector では、ウォーターマーク戦略を ​CREATION_TIMESTAMP​ または ​MODIFIED_TIMESTAMP​ の 2 つの異なるモードで使用できます。戦略は、ファイルの絞り込みを作成時間に基づいて実行するか、変更時間に基づいて実行するかによって異なります。

例: ファイルリスナーを使用したウォーターマーク
<file:listener doc:name="On New File"
  config-ref="File_Config1"
  watermarkMode="CREATED_TIMESTAMP">
    <scheduling-strategy >
      <fixed-frequency />
    </scheduling-strategy>
</file:listener>
xml

反復可能ストリーム

List​ 操作では、Mule 4 で導入された反復可能ストリーム機能が使用されます。この操作ではメッセージのリストが返されます。各メッセージはリスト内のファイルを表し、ファイルへのストリームを保持します。デフォルトでは、ストリームは反復可能です。

詳細は、​「Mule 4 でのストリーミング」​を参照してください。