監視フォルダーエンドポイントの設定

監視フォルダーエンドポイントを設定するには、次の設定を使用します。

名前:
(必須)エンドポイントを識別します。< は含めないでください。含めると、Workspace に表示される名前の一部が省略されます。エンドポイント名として URL を入力する場合は、RFC1738 で指定された構文規則に準拠していることを確認します。

説明:
エンドポイントの説明です。< は含めないでください。含めると、Workspace に表示される説明の一部が省略されます。

パス:
(必須)監視フォルダーの場所を指定します。クラスター環境では、クラスター内のすべてのコンピューターからアクセスできる共有ネットワークフォルダーを指定する必要があります。

非同期:
呼び出しを非同期型にするか同期型にするかを指定します。デフォルト値は「asynchronous」(非同期)です。長期間有効なプロセスでは非同期を使用し、一過性のプロセスまたは短期間のみ有効なプロセスでは同期を使用することをお勧めします。

Cron 形式:
Cron 形式を使用して監視フォルダーをスケジュールする必要がある場合に Cron 形式を入力します。これを設定すると、「繰り返し間隔」は無視されます。Cron 形式の設定について詳しくは、CronTrigger クラスに関するページを参照してください。この設定が指定されると、「繰り返し間隔」は無視されます。

繰り返し間隔:
監視フォルダーをスキャンして入力を確認する間隔(秒単位)です。「ジョブ数を制限」が有効になっていない場合は、「繰り返し間隔」を平均的なジョブを処理する時間よりも大きい値に設定する必要があります。そうしないと、システムが過負荷の状態になる可能性があります。デフォルト値は 5 です。詳しくは、「バッチサイズ」の説明を参照してください。

繰り返し回数:
監視フォルダーでフォルダーまたはディレクトリをスキャンする回数です。-1 を指定すると、無限にスキャンされます。デフォルト値は -1 です。

ジョブ数を制限:
このオプションを選択すると、LiveCycle で同時に処理できる監視フォルダーのジョブ数が制限されます。ジョブの最大数は、バッチサイズ値によって決まります(ジョブ数の制限についてを参照)。

ユーザー名:
(必須)監視フォルダーからターゲットサービスを呼び出すときに使用されるユーザー名です。デフォルト値は「SuperAdmin」です。

ドメイン名:
(必須)ユーザーのドメインです。デフォルト値は「DefaultDom」です。

バッチサイズ:
1 回のスキャンで取得されるファイルまたはフォルダーの数です。この設定を使用して、システムが過負荷の状態になるのを防ぎます。一度にスキャンするファイル数が多すぎる場合、クラッシュする可能性があります。デフォルト値は 2 です。

「繰り返し間隔」設定と「バッチサイズ」設定では、監視フォルダーがスキャンごとに何個のファイルを取得するかを指定します。監視フォルダーは、Quartz スレッドプールを使用して入力フォルダーをスキャンします。スレッドプールは他のサービスと共有されます。スキャンの間隔が小さいと、スレッドによって入力フォルダーが頻繁にスキャンされます。ファイルが頻繁に監視フォルダーに配置される場合は、スキャンの間隔を小さくする必要があります。ファイルが頻繁には配置されない場合は、他のサービスがスレッドを使用できるように、スキャンの間隔を大きくします。

配置されるファイル数が多い場合は、バッチサイズを大きくします。例えば、監視フォルダーエンドポイントによって呼び出されるサービスが 1 分間に 700 個のファイルを処理でき、これと同じ速度でユーザーが入力フォルダーにファイルを配置するとします。このとき、「バッチサイズ 」を 350 に、「繰り返し間隔 」を 30 秒に設定すると、過度に頻繁に監視フォルダーをスキャンするコストを発生させることなく、監視フォルダーのパフォーマンス向上につなげることができます。

ファイルが監視フォルダーに配置されると監視フォルダーはファイルを入力内に一覧化するので、スキャンが毎秒行われているとパフォーマンスが低下する可能性があります。スキャンの間隔を大きくすると、パフォーマンスが向上する可能性があります。配置されるファイルの量が少ない場合は、それに従って「バッチサイズ 」と「繰り返し間隔 」を調整します。例えば、毎秒 10 個のファイルが配置される場合は、「繰り返し間隔 」を 1 秒に、「バッチサイズ 」を 10 に設定します。

待機時間:
フォルダーまたはファイルの作成後にスキャンを実行するまでの待機時間(ミリ秒単位)です。例えば、待機時間が 3,600,000 ミリ秒(1 時間)のときに、1 分前にファイルが作成されたとすると、59 分以上が経過した後でこのファイルが取得されます。デフォルト値は 0 です。

この設定は、ファイルまたはフォルダーを入力フォルダーにコピーする処理を確実に完了するために役立ちます。例えば、処理の対象となるファイルが大きく、そのファイルをダウンロードするのに 10 分かかる場合は、待機時間を 10*60*1000 ミリ秒に設定します。この設定により、ファイルが作成されてから 10 分が経過していない場合は、監視フォルダーはそのファイルをスキャンしなくなります。

ファイルパターンを除外:
スキャンおよび取得の対象とするファイルとフォルダーを決めるために監視フォルダーで使用されるパターンのセミコロン(;)区切りのリストです。このパターンに当てはまるファイルまたはフォルダーは、スキャンの対象外となります。

この設定は、複数のファイルが存在するフォルダーが入力に使用される場合に便利です。フォルダーの内容を、監視フォルダーの取得対象となる名前のフォルダーにコピーすることができます。これにより、フォルダーが入力フォルダーに完全にコピーされる前に監視フォルダーがフォルダーを取得することを回避できます。

次のように、除外するファイルパターンを指定できます。

  • *.dat、*.xml、.pdf、*.* など特定のファイル拡張子を持つファイル。

  • 特定の名前を含むファイル。例えば、data.* の場合、data1、data2 などの名前を含むファイルやフォルダーが除外されます。

  • 次のような名前および拡張子が混在する式に一致するファイル。

    • Data[0-9][0-9][0-9].[dD][aA][tT]

    • *.[dD][Aa][Tt]

    • *.[Xx][Mm][Ll]

ファイルパターンについて詳しくは、ファイルパターンについてを参照してください。

ファイルパターンを含める:
(必須)スキャンおよび取得の対象とするファイルとフォルダーを決めるために監視フォルダーで使用されるパターンのセミコロン(;)区切りのリストです。例えば、「ファイルパターンを含める」が「input*」の場合、名前が input* に一致するすべてのファイルおよびフォルダーが取得されます。input1、input2 などの名前のファイルとフォルダーがこれに該当します。

デフォルト値は「*」であり、すべてのファイルとフォルダーを対象とします。

次のように、含めるファイルパターンを指定できます。

  • *.dat、*.xml、.pdf、*.* など特定のファイル拡張子を持つファイル。

  • 特定の名前を含むファイル。例えば、data.* の場合、data1、data2 などの名前を含むファイルやフォルダーが含まれます。

  • 次のような名前および拡張子が混在する式に一致するファイル。

    • Data[0-9][0-9][0-9].[dD][aA][tT]

    • *.[dD][Aa][Tt]

    • *.[Xx][Mm][Ll]

ファイルパターンについて詳しくは、ファイルパターンについてを参照してください。

結果フォルダー:
保存された結果を格納するフォルダーです。結果がこのフォルダーに表示されない場合は、失敗フォルダーを確認してください。読み取り専用ファイルは処理されず、失敗フォルダーに保存されます。絶対パスまたは相対パスを次のファイルパターンを使用して指定できます。
  • %F = ファイル名プレフィックス

  • %E = ファイル拡張子

  • %Y = 年(4 桁表記)

  • %y = 年(下 2 桁)

  • %M = 月

  • %D = 日(1~31)

  • %d = 日(通日)

  • %H = 時(24 時間)

  • %h = 時(12 時間)

  • %m = 分

  • %s = 秒

  • %l = ミリ秒

  • %R = 乱数(0~9)

  • %P = プロセス ID またはジョブ ID

例えば、2009 年 7 月 17 日午後 8 時で、C:/Test/WF0/failure/%Y/%M/%D/%H/ と指定した場合、結果のフォルダーは C:/Test/WF0/failure/2009/07/17/20 です。

絶対パスではなく相対パスを指定すると、結果フォルダーは監視フォルダーの中に作成されます。デフォルト値は「result/%Y/%M/%D/」であり、監視フォルダー内の結果フォルダーです。ファイルパターンについて詳しくは、ファイルパターンについてを参照してください。

注意: 結果フォルダーのサイズを小さくすればするほど、監視フォルダーのパフォーマンスが向上します。例えば、監視フォルダーの推定負荷が 1 時間に 1000 個のファイルである場合、1 時間ごとに新しいサブフォルダーが作成されるように result/%Y%M%D%H のようなパターンを使用します。これよりも負荷が小さい場合(例えば、1 日に 1000 個のファイル)、result/%Y%M%D のようなパターンを使用することもできます。

保存用フォルダー:
正常にスキャンされ、取得されたファイルが保存される場所です。相対パス、絶対パスまたは null のディレクトリパスを指定できます。「結果フォルダー」で説明したファイルパターンを使用できます。デフォルト値は「preserve/%Y/%M/%D/」です。

失敗フォルダー:
失敗ファイルが保存されるフォルダーです。この場所は、常に監視フォルダーからの相対パスで指定します。「結果フォルダー」で説明したファイルパターンを使用できます。

読み取り専用ファイルは処理されず、失敗フォルダーに保存されます。

デフォルト値は「failure/%Y/%M/%D/」です。

エラー時に保存:
サービスで操作の実行に失敗した場合に入力ファイルを保存します。デフォルト値は true です。

重複したファイル名を上書き:
「True」に設定すると、結果フォルダーと保存用フォルダーにあるファイルが上書きされます。「False」に設定すると、ファイル名とフォルダー名の最後に数字のインデックスが付加されます。デフォルト値は False です。

クリア期間:
(必須)結果フォルダー内にこの値より古いファイルまたはフォルダーがあると、それらは削除されます。この値の単位は日です。この設定は、結果フォルダーに常に空き容量があるようにする場合に役立ちます。

-1 を指定すると、結果フォルダーの削除は行われません。デフォルト値は -1 です。

操作名:
(必須)監視フォルダーエンドポイントに割り当てることができる操作のリストです。

入力パラメーターのマッピング:
サービスおよび操作を処理するために必要な入力を設定するために使用します。使用できる設定は、監視フォルダーエンドポイントを使用するサービスによって異なります。入力には、次の 2 つの種類があります。
リテラル:
監視フォルダーでは、フィールドに入力された値が表示どおりに使用されます。すべての基本 Java 型がサポートされます。例えば、Stringlongint および Boolean などの入力が使用される API の場合、文字列は適切な型に変換され、サービスが呼び出されます。

変数:
監視フォルダーでは、入力された値をファイルパターンとして使用して入力が取得されます。例えば、暗号パスワードサービスの場合、入力ドキュメントは PDF ファイルである必要があり、ユーザーはファイルパターンとして *.pdf を使用できます。監視フォルダーでこのパターンに一致するすべてのファイルが取得され、各ファイルに対するサービスが呼び出されます。変数の使用時は、すべての入力ファイルがドキュメントに変換されます。Document を入力型として使用する API のみがサポートされます。

出力パラメーターのマッピング:
サービスおよび操作の出力を設定するために使用します。使用できる設定は、監視フォルダーエンドポイントを使用するサービスによって異なります。

監視フォルダーの出力は、1 つのドキュメント、ドキュメントのリストまたはドキュメントのマップになります。その後、「出力パラメーターのマッピング」で指定されたパターンを使用して、これらの出力ドキュメントが結果フォルダーに保存されます。

注意: 結果が一意の出力ファイル名になる名前を指定すると、パフォーマンスが向上します。例えば、サービスによって 1 つの出力ドキュメントが返された場合に、そのドキュメントを「出力パラメーターのマッピング」で %F.%E(入力ファイルのファイル名と拡張子)にマップするとします。この場合、ユーザーが 1 分ごとに同じ名前のファイルを配置したときに、結果フォルダーが result/%Y/%M/%D に設定されており、「重複したファイル名を上書き」設定が無効になっていると、監視フォルダーは重複したファイル名を解決しようとします。この重複したファイル名を解決するプロセスが、パフォーマンスに影響を与えることがあります。この状況では、「出力パラメーターのマッピング」を %F_%h_%m_%s_%l に変更して名前に時、分、秒、ミリ秒を追加するか、または配置されるファイルに必ず一意の名前を使用すると、パフォーマンスが向上する可能性があります。