8.4.10 共通フォルダと中間ファイルの作成
FTP受付は,共通フォルダ内のファイルを中間ファイルとして使用することができます。
- 〈この項の構成〉
(1) 共通フォルダにアクセスできるオペレーション
共通フォルダ内のファイルにアクセスできるのは,GETオペレーションだけです。PUTオペレーションおよびGETINFOオペレーションは共通フォルダにアクセスできません。
(2) 共通フォルダにアクセスする方法
FTP受付は,次の条件を満たした場合に,共通フォルダ内のファイルを中間ファイルとして使用できます。
-
GETオペレーションの応答電文の<folder-name>の値に共通フォルダ定義名が設定されている。
-
GETオペレーションの応答電文の<file-name>の値に共通フォルダ内のファイルが設定されている。
-
GETオペレーションの応答電文の<success>の値にtrueが設定されている。
(3) 中間ファイルとして指定可能なファイル
中間ファイルとして指定できるファイルを次に示します。
-
共通フォルダ内のファイルであること。フォルダを指定することはできません。
-
共通フォルダからの相対パスが指定できるが,共通フォルダの外部のファイルを指定することはできません。なお,パスの先頭のスラッシュ(/)は省略することができます。
-
シンボリックリンクのファイルでないこと。
(4) 共通フォルダ内のファイルの削除
共通フォルダ内のファイルを中間ファイルとして使用した場合,FTP受付でファイルを削除することができます。ファイルが削除される条件を次に示します。
-
共通フォルダ内のファイルを中間ファイルとして使用した。
-
FTP受付定義ファイルのurecp-ftp.common-dir-file.auto-deleteプロパティの値が「true」である。
-
FTP受付がビジネスプロセスを呼び出して,呼び出したビジネスプロセスから,<success>タグの値がtrueの応答電文を受け取った。
-
FTP受付とFTPインバウンドアダプタの間のデータ(ファイルの内容やリストデータ)の受け渡しが正常に終了した。
上記の条件を満たしていない場合や,プロセスが異常終了した場合およびcscpireexecコマンド(プロセスインスタンスの再実行)などでビジネスプロセスを再実行した場合は,共通フォルダ内の中間ファイルが自動で削除されません。
上記の条件を満たしていない場合や,プロセスが異常終了した場合およびビジネスプロセスの再実行を要求した場合(cscpireexecコマンドなど)は,共通フォルダ内の中間ファイルが自動で削除されません。FTP受付が共通フォルダ内の中間ファイルを削除できなかった場合,次の方法で共通フォルダ内の中間ファイルを削除してください。
- FTP受付定義ファイルのurecp-ftp.common-dir-file.auto-deleteプロパティの値が「false」の場合
-
ビジネスプロセスが実行する最後の処理でファイル操作アダプタを呼び出して共通フォルダ内の中間ファイルを削除してください。または,cscfsclsコマンドで共通フォルダを参照し,削除対象かどうか確認したあと,cscfscrmコマンドで共通フォルダ内の中間ファイルを削除してください。
- FTP受付定義ファイルのurecp-ftp.common-dir-file.auto-deleteプロパティの値が「true」の場合
-
cscfsclsコマンドで共通フォルダを参照し,削除対象かどうか確認したあと,cscfscrmコマンドで共通フォルダ内の中間ファイルを削除してください。
詳細は,マニュアル「サービスプラットフォーム リファレンス」の「cscfscls(共通フォルダの参照)」または「cscfscrm(共通フォルダの削除)」を参照してください。
(5) 共通フォルダ内のファイルの排他制御
GETオペレーションで共通フォルダ内のファイルへアクセスする場合,ファイルの読み込み時に共有ロックを取得します。また共通フォルダのファイルを削除する場合,削除するファイルに対して占有ロックを取得します。ファイルロック取得時のロックリトライ回数およびロックリトライ間隔は,FTP受付コンフィグファイルのプロパティで変更できます。
FTP受付コンフィグファイルの詳細は,マニュアル「サービスプラットフォーム リファレンス」の「6.8.5 FTP受付コンフィグファイル」を参照してください。また排他制御については,「8.8.2 共通フォルダを利用したファイルアクセス」を参照してください。