4.9.1 コンポーネント共通UOCの概要
コンポーネント共通UOCでは,次の2つのことができます。
-
UOCクラスのインスタンス生成
ユーザが作成したjavaクラスをシステムクラスローダで読み込み,UOCクラスのインスタンスを作成します。
-
UOCクラスの呼び出し
ユーザが指定したコンポーネントで,ユーザが作成したjavaクラスを呼び出します。
- 〈この項の構成〉
(1) UOCクラスのインスタンス生成
UOCクラスのインスタンスは,HCSCサーバ起動時に作成され,メモリ上に保持されます。
UOCクラスのインスタンス生成の流れを次に示します。
-
コンポーネント共通UOC用プロパティファイルの読み込み
コンポーネント共通UOC用プロパティファイルを読み込み,UOCクラスの呼び出し元IDをkey情報,呼び出されるUOCクラスのクラスパスをvalueとするMap型のデータを作成し,jarファイル作成の処理へ設定します。
プロパティファイルの読み込みに失敗した場合,メッセージログに例外ログ(KDEC11003-E)を出力したあと,HCSCサーバ起動処理を中断します。
-
コンポーネント共通UOC用jarファイルの読み込みおよびインスタンス作成
コンポーネント共通UOC用プロパティを読み込んで作成したMap型データからクラスパスを取得し,UOCクラスのインスタンスを生成します。
生成したUOCクラスのインスタンスは,クラスインスタンスをvalue,クラスパスをkeyとするMap型データに格納します。
クラスファイルの読み込みに失敗した場合,メッセージログに例外ログ(KDEC11002-E)を出力したあと,HCSCサーバ起動処理を中断します。
(2) UOCクラスの呼び出し
受付の共通処理部分,およびサービスアダプタの共通処理部分から呼び出すため,すべてのコンポーネントの処理でUOCクラスを呼び出すことができます。
コンポーネントの処理タイミングと,UOCクラスの呼び出しの有無を次に示します。
種別 |
起動時 |
開始時 |
終了時 |
停止時 |
|||
---|---|---|---|---|---|---|---|
正常 |
フォルト |
システム例外 |
|||||
標準受付 |
× |
○ |
○ |
× |
× |
× |
|
ユーザ定義受付 |
SOAP受付の場合 |
× |
○ |
○ |
× |
× |
× |
SOAP受付以外の場合 |
○ |
○ |
○ |
× |
× |
○ |
|
ビジネスプロセス |
× |
× |
× |
× |
× |
× |
|
サービスアダプタ |
× |
○ |
○ |
× |
× |
× |
(a) UOCクラスへの入力情報
UOCクラスへの入力情報は,Map型のオブジェクトにまとめて渡します。
UCO用インターフェースで定義した定数(key)を基にデータを取得します。
定数(key)は,UOCクラスを作成する際にimplementsするインターフェースに定義します。
定義する定数を次に示します。
定数名(key名) |
データ型 |
設定内容 |
---|---|---|
COMPO_TYPE |
int |
1:サービスアダプタ 2:受付 |
COMPO_KIND |
String |
受付の場合
サービスアダプタの場合
|
COMPO_ID |
String |
受付の受付IDまたはサービスアダプタのサービスID |
TELEGRAM_DATA |
CSCMsgTelegramManager |
リクエスト電文または応答電文 |
MONITOR_SEND_DATA |
Map<String, Object> |
送信データ格納Map |
DESTINATION_DATA |
CSCMsgDestinationData |
呼び出すサービスの宛先情報※ |
パラメタMapから取得する電文の内容を次に示します。
- ●電文
-
リクエスト電文や応答電文は,電文取得用API(CSCMsgTelegramManager)でUOCクラスに渡し,「#getHeader」または「#getBody」を使用して電文を取得します。
なお,電文はバイト配列で渡すため,XML電文の場合はDocument型などに変換する必要があります。
- ●宛先情報
-
SOAPユーザ定義受付以外のユーザ定義受付の場合に呼び出すサービスの宛先情報が取得できます。また,ユーザ定義受付のリクエスト受付時にサービスの宛先情報取得用APIを使用し,任意の値を設定することで,呼び出すサービスを変更できます。
(b) UOCクラスを呼び出すタイミング
UOCクラスを呼び出すタイミングと電文との関係を次に示します。
-
受付ではサービスリクエスタからの要求電文をUOCクラスに渡します。
-
サービスアダプタではサービス部品に渡す要求電文をUOCクラスに渡します。
-
サービスアダプタではサービス部品から返る応答電文をUOCクラスに渡します。
-
受付ではサービスアダプタからの応答電文をUOCクラスに渡します。
- 注意
-
呼び出すサービスの宛先を変更した場合,リクエストトレースで出力される宛先は実際の宛先と異なることがあります。
(c) 性能解析トレースの出力
コンポーネント共通UOCを使用すると,性能解析トレースは必ず出力されます。性能解析トレースが出力されるタイミングは,UOCクラスの呼び出し直前と直後になります。
性能解析トレースファイルに出力される形式は,J2EEサーバの性能解析トレースと同様です。性能解析トレースファイルの詳細については,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」の「7.3 Management Serverを利用した性能解析トレースファイルの収集」を参照してください。