2.17.5 外部コマンドプロセスに関する動作オプションの設定
- 〈この項の構成〉
(1) 動作オプションの設定方法
コマンドアダプタでは,次の方法で動作オプションを指定できます。
-
定義ファイルで指定
-
要求電文で指定(一部オプションに限定)
オプション設定値の反映タイミングと対応する設定方法を次の表に示します。なお,定義ファイルと要求電文で同じオプションを指定した場合,要求電文の指定が優先されます。
反映タイミング |
動作オプションの設定方法 |
---|---|
コマンドアダプタ起動時 |
コマンドアダプタ実行環境プロパティファイルで設定します。 コマンドアダプタ実行環境プロパティファイルで設定できる項目の詳細は,マニュアル「サービスプラットフォーム リファレンス」の「6.15.3 コマンドアダプタ実行環境プロパティファイル」を参照してください。 |
リクエスト時 |
要求電文で設定します。 要求電文フォーマットの作成方法については,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「3.3.14(1) 電文フォーマットの作成」を参照してください。 |
(2) 動作オプションに設定できる項目
コマンドアダプタでは,外部コマンドプロセスに関する次の項目を動作オプションに設定できます。
-
外部コマンドプロセスの環境変数
-
外部コマンドプロセスの作業ディレクトリ
-
タイムアウト時間
-
タイムアウト発生時の外部コマンドプロセス強制終了可否
-
応答電文で取得する標準出力の上限サイズ
(a) 外部コマンドプロセスの環境変数
外部コマンドプロセスだけで有効となる環境変数を定義できます。
外部コマンドプロセスの環境変数は,コマンドアダプタ内で生成されます。
生成の流れを次の図に示します。
|
図内の処理について説明します。なお,次の番号は,図中の番号と対応しています。
-
J2EEサーバが持つシステム環境変数をコピーします。
システム環境変数については,System.getEnv()メソッドの仕様を参照してください。
-
ユーザが作成する「プロセス環境変数定義ファイル」が存在する場合は,1.でコピーしたシステム環境変数の内容を基に,プロセス環境変数を追加または上書きをします。
ファイルが存在しない場合は,1.でコピーしたシステム環境変数をそのまま使用します。
プロセス環境変数定義ファイルパスは,要求電文,またはコマンドアダプタ実行環境プロパティファイルで指定します。プロセス環境変数定義ファイルの詳細は,マニュアル「サービスプラットフォーム リファレンス」の「6.15.2 プロセス環境変数定義ファイル」を参照してください。
-
外部コマンドプロセス起動時に環境変数(システム環境変数,およびプロセス環境変数)を適用します。
外部コマンドプロセスの環境変数は,コマンドアダプタのリクエストのたびに生成されます。したがって,ほかのリクエストで起動する外部コマンドプロセスや,J2EEサーバ,OSの環境変数に影響を与えません。
(b) 外部コマンドプロセスの作業ディレクトリ
作業ディレクトリとは,次の方法などで取得または設定できるものを指します。コマンドアダプタでは,この作業ディレクトリを変更できます。
-
Windowsの場合
-
コマンドプロンプトでcdコマンドを実行してカレントディレクトリを確認する
-
外部コマンドのショートカットのプロパティで[作業フォルダー]に指定する
-
-
Linuxの場合
シェルでpwdコマンドを実行してカレントディレクトリを確認する
(c) タイムアウト時間
外部コマンドプロセスの実行が何らかの原因で終わらない場合,ビジネスプロセスにシステム例外を通知するためのタイムアウト時間を設定できます。
タイムアウト時間を経過しても外部コマンドプロセスが終了しなかった場合は,ビジネスプロセスにシステム例外が通知されます。
(d) タイムアウト発生時の外部コマンドプロセス強制終了可否
タイムアウトが発生した際に,その時点で外部コマンドプロセスの強制終了を試みるかどうかを設定できます。
強制終了しない設定の場合,コマンドアダプタやHCSCサーバの状態に関係なく,起動した外部コマンドプロセスは処理を継続します。なお,タイムアウト発生後の外部コマンドプロセスの状態をサービスプラットフォームから調べる方法はありません。
(e) 応答電文で取得する標準出力の上限サイズ
コマンドアダプタの応答電文で取得する標準出力のサイズ上限値を設定できます。
コマンドアダプタは,標準出力の出力データを,出力された分だけ内部的に保持しています。標準出力のサイズ上限値を設定すると,そのサイズまでしか保持しません。そのため,次の場合にサイズを設定することで,コマンドアダプタが保持するデータのメモリ使用量を節約できます。
-
出力された標準出力の内容をビジネスプロセスで使用しない場合
-
出力された標準出力の内容を規定の長さまでしか使用しない場合
図2‒186 標準出力のサイズ制限のイメージ - 注意事項
-
外部コマンドプロセスの標準出力のサイズが設定値を上回った場合,メッセージログに警告メッセージが出力されます。