呼び出し間隔
このアダプタの秒単位のポーリング間隔。これは、アダプタが指定された場所で入力ファイルをチェックする時間間隔です。
ポーリング時にアダプタがファイルを検出すると、アダプタはファイルをストリーム・オブジェクトにリンクし、ストリーム・オブジェクトを関連ビジネス・サービスに渡します。一度に複数のファイルを検出すると、アダプタはファイルが検出されなくなるまで、個々のファイルのビジネス・サービスに対して 1 つの要求を送信します。
ビジネス・サービスが各ファイルを同期で処理した場合、ファイルは順次処理されます。ビジネス・サービスが各ファイルをビジネス・プロセスまたはビジネス・オペレーションに非同期で送信した場合、ファイルは同時処理される場合があります。
有効なファイルをすべて処理し終わると、アダプタはポーリング間隔が経過してから、再度ファイルをチェックします。プロダクションが実行中であり、ビジネス・サービスが有効化され、アクティブになるようにスケジュールされている場合、このサイクルは常に継続されます。
入力ファイル間の [呼び出し間隔] 期間だけアダプタが遅れるように、ビジネス・サービス内にコールバックを実装できます。詳細は、"プロダクションの開発" の “ビジネス・サービスの定義” を参照してください。
デフォルト [呼び出し間隔] は 5 秒です。最小値は 0.1 秒です。
セマフォ仕様
セマフォ仕様では、セマフォとして使用する 2 番目のファイルを作成することで、データ・ファイルの作成完了と読み取り準備の完了を示すことができるようになります。受信ファイル・アダプタは、セマフォ・ファイルが存在するまで待機した後、[完了を確認] の要件で指定されたその他の条件をチェックしてから、データ・ファイルを処理します。これにより、データ・ファイルを作成するアプリケーションでは、データ・ファイルの完了までアダプタがそのファイルの処理をしないように待機させることができます。アダプタは、セマフォ・ファイルが存在することのみをテストし、セマフォ・ファイルの内容を読み取ることはありません。
セマフォ仕様が空の文字列の場合、アダプタはセマフォ・ファイルを待機せずに、[完了を確認] の要件で指定された条件が成立すると即座にデータ・ファイルを処理します。セマフォ・ファイルを使用して、アダプタがデータ・ファイルをいつ処理するかを制御する場合は、[完了を確認] フィールドを [なし] に設定することを検討してください。
セマフォ仕様では、データ・ファイルごとに個別のセマフォ・ファイルを指定できます。また、1 つのセマフォ・ファイルで複数のデータ・ファイルを制御することもできます。セマフォ・ファイルとデータ・ファイルのペアにワイルドカードを使用することができます。さらに一連のパターン・マッチング・セマフォ・ファイルをデータ・ファイルに指定することができます。アダプタは、常にデータ・ファイルと同じディレクトリで一致するセマフォ・ファイルを検索します。アダプタがサブディレクトリのデータ・ファイルを検索する場合、セマフォ・ファイルは対応するデータ・ファイルと同じサブディレクトリのレベルに存在する必要があります。
セマフォ仕様を使用する標準的な形式は次のとおりです。
[DataFileSpec=] SemaphoreFileSpec [;[DataFileSpec=] SemaphoreFileSpec]...
例えば、次のセマフォ仕様があるとします。
ABC*.TXT=ABC*.SEM
ABCTest.SEM セマフォ・ファイルは、アダプタが ABCTest.TXT ファイルをいつ処理するかを制御し、ABCdata.SEM セマフォ・ファイルは、アダプタが ABCdata.txt ファイルをいつ処理するかを制御することを意味します。
Note:
セマフォ仕様では、* (アスタリスク) はドット以外のすべての文字に対応します。ファイル仕様では、アスタリスクはドットを含むすべての文字に対応します。
1 つのセマフォ・ファイルで複数のデータ・ファイルを制御できます。例えば、次のセマフォ仕様があるとします。
*.DAT=DATA.SEM
DATA.SEM セマフォ・ファイルは、同じディレクトリ内のすべての *.DAT ファイルについてアダプタがいつ処理するかを制御します。アダプタがデータ・ファイルと対応するセマフォ・ファイルを検索するとき、ポーリングの間隔ですべてのデータ・ファイルをループします。上のセマフォ仕様の場合、ABC.DAT ファイルの DATA.SEM から検索を開始し、検出できない場合は、別のファイルのセマフォ・ファイルの検索を続けます。このプロセスで XYZ.DAT の一致を検索していたときに DATA.SEM が作成された場合には、この対応するセマフォ・ファイルが検出されます。ただし、アダプタは XYZ.DAT の処理を次のポーリングまで延期します。これは前のデータ・ファイル ABC.DAT が同じセマフォ・ファイルを待機していたためです。
複数のペアを指定する場合は、それらを ; (セミコロン) で区切ります。例えば、次のセマフォ仕様があるとします。
*.TXT=*.SEM;*.DAT=*.READY
セマフォ・ファイル MyData.SEM は、アダプタが MyData.TXT をいつ処理するかを制御しますが、セマフォ・ファイル MyData.READY は、アダプタが MyFile.DAT をいつ処理するかを制御します。
アダプタは、セマフォ仕様を左から右に読み取って、各データ・ファイルに対応するセマフォ・ファイルを検出します。対応するセマフォ・ファイルを特定すると、そのファイルのセマフォ仕様の読み取りを停止します。例えば、次のセマフォ仕様があるとします。
VIData.DAT=Special.SEM; *.DAT=*.SEM
アダプタは、VIData.DAT を処理する前にセマフォ・ファイル Special.SEM を検索しますが、VIData.SEM は VIData.DAT のセマフォ・ファイルと見なされません。stuff.SEM は、stuff.DAT のセマフォ・ファイルと見なされます。これは stuff.DAT が以前の仕様と一致しなかったためです。したがって、同じファイルと一致する複数の仕様を含める場合は、より限定的な仕様を指定してから、より一般化された仕様を指定する必要があります。
データ・ファイルのターゲット・パターンは大小文字が区別され、セマフォ・パターンの大小文字の区別はオペレーティング・システムに依存します。つまり、*.TXT=*.SEM は、大文字の .TXT で終わるターゲット・ファイルのみに適用されますが、オペレーティング・システムは *.SEM と *.sem を区別できない場合があります。オペレーティング・システムで大小文字が区別されない場合、アダプタは、大小文字の任意の組み合わせで終わる *.SEM と *.sem のセマフォ・ファイルを同等に処理しますが、それらは名前が *.TXT のデータ・ファイルのみに対してセマフォとして使用されます。セマフォ・ファイルでは大小文字を区別できませんが、データ・ファイルでは区別が可能です。
1 つのファイル仕様のみを指定し、= (等号) 記号を省略すると、アダプタがこれを全データ・ファイルのセマフォ仕様として扱います。例えば、次のセマフォ仕様があるとします。
*.SEM
これは、1 つのワイルドカードを = (等号) 記号の左側に指定した場合と等価です。
*=*.SEM
この場合、セマフォ・ファイル MyFile.SEM はデータ・ファイル MyFile.txt を制御し、セマフォ・ファイル BigData.SEM はデータ・ファイル BigData.DAT を制御します。
セマフォ仕様でワイルドカードが使用されていない場合、その仕様はセマフォ・ファイルの完全な fileSpec です。例えば、次のセマフォ仕様があるとします。
*.DAT=DataDone.SEM
この場合、DataDone.SEM セマフォ・ファイルは、アダプタが .DAT ファイル拡張子を持つデータ・ファイルをいつ読み取るかを制御します。
セマフォ仕様が指定され、データ・ファイルがいずれのパターンとも一致しない場合、対応するセマフォ・ファイルは存在せず、アダプタはこのデータ・ファイルを処理しません。この状況は、セマフォ仕様で最後のデータ・ファイルとして * を指定することで回避できます。例えば、次のセマフォ仕様があるとします。
*.DAT=*.SEM; *.DOC=*.READY; *=SEM.LAST
SEM.LAST は、.DAT や .DOC で終了しないすべてのファイルのセマフォ・ファイルです。
FileSpec が * でアダプタが構成されている場合、そのアダプタは、通常はディレクトリ内にあるすべてのファイルをデータ・ファイルと見なします。ただし、アダプタにセマフォ仕様も存在し、特定のファイルをセマフォ・ファイルとして認識する場合、そのファイルがデータ・ファイルとして扱われることはありません。
アダプタは、すべてのデータ・ファイルを特定のポーリング・サイクルで処理し終わると、対応する全セマフォ・ファイルを削除します。