Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 解説
FTPアダプタのタイマ管理の機能,およびタイムアウト値の設定方法について説明します。
FTPアダプタでタイムアウトを監視するポイントを,PassiveモードおよびSTORによるファイル転送の場合を例に,次の図に示します。
図8-26 FTPアダプタでタイムアウトを監視するポイント(PassiveモードおよびSTORによるファイル転送の場合の例)
FTPアダプタでタイムアウトを監視するポイントを,ActiveモードおよびSTORによるファイル転送の場合を例に,次の図に示します。
図8-27 FTPアダプタでタイムアウトを監視するポイント(ActiveモードおよびSTORによるファイル転送の場合の例)
FTPアダプタでは,次のタイムアウトを設定できます。
各タイムアウト値は,FTPアダプタ実行環境プロパティファイルで設定できます。
FTPアダプタ実行環境プロパティファイルの詳細は,マニュアル「サービスプラットフォーム リファレンス」の「FTPアダプタ実行環境プロパティファイル」を参照してください。
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回の制御コネクション接続タイムアウト時間+制御コネクション接続リトライ間隔)×制御コネクション接続リトライ回数
FTPアダプタからFTPコマンドを発行したあと,指定した時間を経過しても応答がない場合,例外が発生します。FTPコマンドリプライタイムアウトを設定することで,例外が発生するまでの時間を設定できます。
設定するパラメタを次の表に示します。
表8-7 FTPコマンドリプライタイムアウトの設定
値 | キー名称 | デフォルト値(秒) |
---|---|---|
FTPコマンドリプライタイムアウト値 | ftpadp.ftp-command-reply.timeout | 60 |
共通フォルダ内のファイルを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オペレーションで共通フォルダにファイルを出力する場合,すでに同名のファイルが存在するときは,ファイルが上書きされます。同名のファイルがほかのプロセスで使用されているときは,占有ロックリトライ回数および占有ロックリトライ間隔で指定したタイムアウト時間で処理がリトライされます。
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モードのデータコネクション接続リトライ回数
FTPアダプタからデータ転送コマンドまたはリストコマンドを実行したあと,指定した時間を経過してもデータ転送またはリストデータの取得が完了しない場合は例外が発生します。データ転送タイムアウトおよびデータ取得タイムアウトを設定することで,例外が発生するまでの時間を指定できます。
この例外が発生した場合のローカルファイルおよびリモートファイルの扱いを次に示します。
設定するパラメタを次の表に示します。
表8-10 データ転送・取得タイムアウトの設定
値 | キー名称 | デフォルト値(秒) |
---|---|---|
データ転送タイムアウト値 | ftpadp.data-con-put.timeout | 60 |
データ取得タイムアウト値 | ftpadp.data-con-get.timeout | 60 |
ファイル送信は複数回実行されます。
ローカルファイルの読み込みが終わったあとで,時間をチェックして時間が経過していた場合に,タイムアウトが発生します。
図8-28 データ転送タイムアウトの流れ
ファイル受信は複数回実行されます。
ファイル受信が終わったあとで,時間をチェックして時間が経過していた場合に,タイムアウトが発生します。
図8-29 データ取得タイムアウトの流れ(Passiveの例)
図8-30 データ取得タイムアウトの流れ(Activeの例)
接続モードがPORTモードで,次のどちらかの場合,例外が発生します。
Listenタイムアウトを設定することで,例外が発生するまでの時間を指定できます。
設定するパラメタを次の表に示します。
表8-11 Listenタイムアウトの設定
値 | キー名称 | デフォルト値(秒) |
---|---|---|
Listenタイムアウト値 | ftpadp.listen.timeout | 60 |
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.