Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 解説

[目次][用語][索引][前へ][次へ]

8.6.5 タイマ管理

FTPアダプタのタイマ管理の機能,およびタイムアウト値の設定方法について説明します。

FTPアダプタでタイムアウトを監視するポイントを,PassiveモードおよびSTORによるファイル転送の場合を例に,次の図に示します。

図8-26 FTPアダプタでタイムアウトを監視するポイント(PassiveモードおよびSTORによるファイル転送の場合の例)

[図データ]

FTPアダプタでタイムアウトを監視するポイントを,ActiveモードおよびSTORによるファイル転送の場合を例に,次の図に示します。

図8-27 FTPアダプタでタイムアウトを監視するポイント(ActiveモードおよびSTORによるファイル転送の場合の例)

[図データ]

FTPアダプタでは,次のタイムアウトを設定できます。

  1. 制御コネクション接続タイムアウト
  2. FTPコマンドリプライタイムアウト
  3. 排他取得タイムアウト
  4. データコネクション接続タイムアウト
  5. データ転送・取得タイムアウト
  6. Listenタイムアウト

各タイムアウト値は,FTPアダプタ実行環境プロパティファイルで設定できます。

FTPアダプタ実行環境プロパティファイルの詳細は,マニュアル「サービスプラットフォーム リファレンス」の「FTPアダプタ実行環境プロパティファイル」を参照してください。

<この項の構成>
(1) 制御コネクション接続タイムアウト
(2) FTPコマンドリプライタイムアウト
(3) 排他取得タイムアウト
(4) データコネクション接続タイムアウト
(5) データ転送・取得タイムアウト
(6) Listenタイムアウト

(1) 制御コネクション接続タイムアウト

FTPアダプタとFTPサーバの間のコマンド実行やその応答などは,制御コネクション接続によって通信されます。

FTPアダプタからの制御コネクションの接続要求時に相手先ビジーなどでコネクションを確立できなかった場合,指定間隔おきに指定回数まで接続処理をリトライします。接続処理をリトライした場合,リトライの状況を保守用ログに出力します。

設定するパラメタを次の表に示します。

表8-6 制御コネクション接続タイムアウトの設定

キー名称 デフォルト値
制御コネクション接続リトライ回数(回) ftpadp.control-con.retry.count 5
制御コネクション接続リトライ間隔(秒) ftpadp.control-con.retry.interval 2
1回の制御コネクション接続タイムアウト時間(秒) ftpadp.control-con.connect.timeout 10

タイムアウト時間は,これらのパラメタに指定した値を使った次の計算式で求められます。

(1回の制御コネクション接続タイムアウト時間+制御コネクション接続リトライ間隔)×制御コネクション接続リトライ回数

(2) FTPコマンドリプライタイムアウト

FTPアダプタからFTPコマンドを発行したあと,指定した時間を経過しても応答がない場合,例外が発生します。FTPコマンドリプライタイムアウトを設定することで,例外が発生するまでの時間を設定できます。

設定するパラメタを次の表に示します。

表8-7 FTPコマンドリプライタイムアウトの設定

キー名称 デフォルト値(秒)
FTPコマンドリプライタイムアウト値 ftpadp.ftp-command-reply.timeout 60

(3) 排他取得タイムアウト

共通フォルダ内のファイルをPUTオペレーションでFTPサーバに転送する場合,共通フォルダ内のファイルに対して共有ロックが設定されます。

また,GETオペレーションで共通フォルダのファイルを取得する場合,共通フォルダのファイルに占有ロックが設定されます。

共有ロックまたは占有ロックの設定時に他プロセスとの競合によって設定が失敗したとき,指定間隔おきに指定回数まで排他取得処理をリトライします。リトライ間隔とリトライ回数の積に,各排他取得時のファイルアクセス時間を加えた時間がタイムアウト時間となります。

設定するパラメタを次の表に示します。

表8-8 排他取得タイムアウトの設定

キー名称 デフォルト値
共有ロックリトライ回数(回) ftpadp.read-lock.retry.count 0
共有ロックリトライ間隔(秒) ftpadp.read-lock.retry.interval 1
占有ロックリトライ回数(回) ftpadp.write-lock.retry.count 0
占有ロックリトライ間隔(秒) ftpadp.write-lock.retry.interval 1

GETINFOオペレーションで共通フォルダにファイルを出力する場合,すでに同名のファイルが存在するときは,ファイルが上書きされます。同名のファイルがほかのプロセスで使用されているときは,占有ロックリトライ回数および占有ロックリトライ間隔で指定したタイムアウト時間で処理がリトライされます。

(4) データコネクション接続タイムアウト

FTPアダプタ,FTPサーバ間でのデータ転送は,データコネクション接続によって通信されます。

接続モードがPASVモードの場合,データコネクション接続要求時に相手先ビジーなどによってコネクションを確立できなかったときは,指定間隔おきに指定回数まで接続処理をリトライします。接続処理をリトライした場合,リトライの状況を保守用ログに出力します。

接続モードがPORTモードの場合,データコネクション接続タイムアウトはFTPサーバの仕様に依存するため,FTPアダプタでは設定できません。

設定するパラメタを次の表に示します。

表8-9 データコネクション接続タイムアウトの設定

キー名称 デフォルト値
PASVモードのデータコネクション接続リトライ回数(回) ftpadp.data-con.retry.count 5
PASVモードのデータコネクション接続リトライ間隔(秒) ftpadp.data-con.retry. interval 2
1回のデータコネクション接続タイムアウト時間(秒) ftpadp.data-con.connect.timeout 10

タイムアウト時間は,これらのパラメタに指定した値を使った次の計算式で求められます。

(1回のデータコネクション接続タイムアウト時間+PASVモードのデータコネクション接続リトライ間隔)×PASVモードのデータコネクション接続リトライ回数

(5) データ転送・取得タイムアウト

FTPアダプタからデータ転送コマンドまたはリストコマンドを実行したあと,指定した時間を経過してもデータ転送またはリストデータの取得が完了しない場合は例外が発生します。データ転送タイムアウトおよびデータ取得タイムアウトを設定することで,例外が発生するまでの時間を指定できます。

この例外が発生した場合のローカルファイルおよびリモートファイルの扱いを次に示します。

設定するパラメタを次の表に示します。

表8-10 データ転送・取得タイムアウトの設定

キー名称 デフォルト値(秒)
データ転送タイムアウト値 ftpadp.data-con-put.timeout 60
データ取得タイムアウト値 ftpadp.data-con-get.timeout 60

ファイル送信は複数回実行されます。

ローカルファイルの読み込みが終わったあとで,時間をチェックして時間が経過していた場合に,タイムアウトが発生します。

図8-28 データ転送タイムアウトの流れ

[図データ]

ファイル受信は複数回実行されます。

ファイル受信が終わったあとで,時間をチェックして時間が経過していた場合に,タイムアウトが発生します。

図8-29 データ取得タイムアウトの流れ(Passiveの例)

[図データ]

図8-30 データ取得タイムアウトの流れ(Activeの例)

[図データ]

(6) Listenタイムアウト

接続モードがPORTモードで,次のどちらかの場合,例外が発生します。

Listenタイムアウトを設定することで,例外が発生するまでの時間を指定できます。

設定するパラメタを次の表に示します。

表8-11 Listenタイムアウトの設定

キー名称 デフォルト値(秒)
Listenタイムアウト値 ftpadp.listen.timeout 60