8.6.6 ログインセッションの維持
FTPアダプタでは,FTPサーバにログインした接続(ログインセッション)を維持できます。ほかのオペレーションの実行時に,FTPサーバへのログイン処理を省略できるため,処理速度が向上します。
|
|
ログインセッション維持は,FTPアダプタ実行環境プロパティファイルのftpadp.session.keepプロパティで設定します。
(1) ログインセッション維持を利用したビジネスプロセスの作成条件
ログインセッション維持を利用したビジネスプロセスを作成する場合,FTPサーバへの接続ごとに,次の要件を満たす必要があります。
-
目的のFTPオペレーションの前に,LOGINオペレーションを実行する。
-
GETオペレーション,PUTオペレーションなどの,目的のFTPオペレーションを実行する。
-
目的のFTPオペレーションの後に,LOGOUTオペレーションを実行する。
この条件を満たした,ビジネスプロセスの設定例を次に示します。
|
|
(2) 最大ログインセッション数の設定
ログインセッションの最大数は,FTPアダプタ実行環境プロパティファイルのftpadp.session.maxで設定できます。
ftpadp.session.maxには,FTPアダプタを利用する各ビジネスプロセスのログインセッション必要数の合計より大きい値を指定してください。
ビジネスプロセスのログインセッションの必要数は次の計算式で求めます。
接続条件が異なるFTPサーバへの接続数×ビジネスプロセスの実行多重度
接続条件とは,LOGINオペレーションの要求電文およびFTP受付実行環境プロパティで指定するIPアドレス,ポート,ログインユーザ,課金情報,FTPSなどの条件を指します。
ログインセッション数が超過した場合の処理の例を次に示します。
|
|
図8-28では,最大ログインセッション数が1で,並行して動作する2つのビジネスプロセスからFTPオペレーションが交互に実行されています。
必要なセッションが最大ログインセッションの設定値を超えた場合,FTPオペレーションで使用されていないログインセッションから,アイドル時間が最も長いログインセッションを破棄した後に,ログインセッションを確立または再確立します。
|
|
図8-29では,最大ログインセッション数が1で,並行して動作する2つのビジネスプロセスからFTPオペレーションが同時に実行されています。
未使用のログインセッションがなく,すべてのログインセッションがFTPアダプタの実行中オペレーションで使用中の場合,エラーメッセージを出力し,実行中のオペレーションの終了を待機します。実行中のオペレーションが終了した後,終了したオペレーションで使用していたログインセッションを破棄し,新たにログインセッションを確立または再確立します。
(3) ログインセッションに記録される付加情報
FTPアダプタからFTPサーバに接続する場合,ログインセッションは,セッションに設定されている次の引数の値を付加情報として記録します。
|
付加情報の種類 |
引数 |
FTPコマンド |
|---|---|---|
|
FTPタイプ |
ASCIIまたはImage |
TYPE |
|
FTPモード |
StreamまたはCompressed |
MODE |
FTPアダプタは,オペレーション実行時に,要求電文およびFTPアダプタ実行環境プロパティファイルの設定値と,ログインセッションに記録されている値を比較し,設定値が異なる場合だけFTPサーバに該当するFTPコマンドを送信します。これによって,不要なコマンド送信を削減できます。