7.7.6 TP1アダプタ実行時の障害対策
TP1アダプタの実行時に発生した障害の対策方法について説明します。
TP1アダプタの実行時に障害が発生した場合,障害対策に必要な情報が出力されます。なお,TP1アダプタが使用するTP1/Client/Jのトレース情報は,TP1/Client/Jのトレースファイルへ出力されます。
- 〈この項の構成〉
(1) 障害発生時にHCSCサーバに通知する情報
サービスリクエスタからTP1アダプタへの要求中にTP1アダプタで障害が発生した場合,RPCの通信形態に応じてTP1アダプタのエラー情報または例外をHCSCサーバへ通知します。
RPCの通信形態による障害情報の通知について次に示します。
RPCの通信形態 |
HCSCサーバへ通知する情報 |
---|---|
同期応答型 |
エラー情報(エラー情報の詳細は,「7.7.6(3) TP1アダプタの障害情報」を参照してください) system例外などの予期しない障害が発生した場合,例外を通知します。 |
非応答型 |
例外 |
障害が発生した場合に,サービスリクエスタで発生する事象についての詳細は,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「9. サービスリクエスタの作成」を参照してください。
(2) ビジネスプロセスを利用したエラー情報の参照
ビジネスプロセスで使用しているTP1アダプタから,TP1アダプタで発生した障害情報(エラー情報)が通知された場合に,faultDetail要素のXMLドキュメントをビジネスプロセス定義から参照できるよう設定できます。そのためには,事前にfaultDetail要素への要素の追加と,TP1アダプタ環境定義ファイルへの拡張オプションの指定が必要です。
(a) faultDetail要素への要素の追加
エラー情報をビジネスプロセス定義から参照するためには,faultDetail要素のXMLドキュメントに,障害発生時のエラーメッセージのIDおよびメッセージ本文を格納する要素を次の図のように追加します。これによって,ビジネスプロセス上でメッセージごとのエラー処理が定義できるようになります。
faultDetail要素での要素の追加については,「7.7.6(3) TP1アダプタの障害情報」を参照してください。
(b) TP1アダプタ環境定義ファイルへの拡張オプションの指定
ビジネスプロセスを利用してエラー情報を参照する場合,TP1アダプタ環境定義ファイルに拡張オプションを指定する必要があります。編集手順については,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「3.3.6 TP1アダプタを定義する」の定義の詳細に関する説明を参照してください。拡張オプションについては,マニュアル「サービスプラットフォーム リファレンス」の「3.4.2 TP1アダプタ環境定義ファイル」を参照してください。
(c) エラーの発生原因の調査
エラーの発生原因は,エラー情報に含まれるmessageId要素とfactor要素の値の組み合わせから判別できます。messageId要素およびfactor要素の値の組み合わせと,エラーの発生原因の対応を次の表に示します。
messageId要素 |
factor要素 |
発生原因(TP1/Client/Jのメソッド) |
---|---|---|
KDEE11007-E |
other |
openConnectionメソッドで例外が発生 |
KDEE11025-E |
other |
rpcCallメソッドで例外が発生 |
KDEE11015-E |
internal |
openConnectionメソッドで例外が発生 |
other |
rpcCallメソッドで例外が発生 |
(3) TP1アダプタの障害情報
TP1アダプタは,障害情報にエラー情報を使用して障害通知をします。エラー情報の各設定値を次の表に示します。
要素名 |
型 |
設定値 |
説明 |
---|---|---|---|
faultCode |
String |
Client |
送られてきたメッセージの構成に異常があるなど,クライアント側のエラーです。 |
Server |
通信エラーなど,サーバ側のエラーです。 |
||
faultString |
String |
<TP1アダプタが出力するメッセージのメッセージテキスト> |
詳細は,マニュアル「サービスプラットフォーム メッセージ」の「2.11 KDEE10000〜KDEE13999のメッセージ」を参照してください。 |
faultActor |
String |
<サービスアダプタ名> |
エラー情報を通知したサービスアダプタ名です。 |
faultDetail |
Document(XML) |
「(a) TP1アダプタのfaultDetailの内容」を参照してください。 |
(a) TP1アダプタのfaultDetailの内容
faultDetailは次に示す形式で記述されています。
-
拡張障害情報を出力する場合
<?xml version="1.0" encoding="UTF-8"?> <detail> <content>・・・</content> <factor>・・・</factor> </detail>
-
拡張障害情報を出力しない場合
<?xml version="1.0" encoding="UTF-8"?> <detail> <content>・・・</content> <factor>・・・</factor> <messageId>・・・</messageId> <message>・・・</message> </detail>
faultDetailの内容を共通要素とオプション要素に分けて次に示します。
要素 |
説明 |
---|---|
messageId |
TP1アダプタが出力するエラーメッセージのメッセージIDです。 |
message |
TP1アダプタが出力するエラーメッセージのメッセージテキストです。 |
(4) TP1アダプタのログ・トレースの種類
TP1アダプタで障害が発生した場合,障害対策に必要な情報がメッセージまたはトレースに出力されます。TP1アダプタで取得できるログおよびトレースの種類を次に示します。
ログ・トレース |
出力情報 |
説明 |
---|---|---|
メッセージログ |
TP1アダプタで発生した各種情報が,メッセージとして出力されます。 |
稼働情報(起動・停止・障害など)をメッセージとして確認できます。なお,メッセージログの出力先はアプリケーションサーバ全体で共通のため,システムの稼働状況を一括して確認できます。 |
メソッドトレース |
TP1アダプタの内部メソッドの開始時と終了時に,次の情報が出力されます。
|
内部メソッド発行の時刻やシーケンスを確認できます。 |
データトレース |
TP1アダプタが提供するメソッドの入出力のデータ情報が出力されます。
|
送受信データ内容および引数の情報を取得することで,データ(内部データ)の正当性を確認できます。 |
例外ログ |
TP1アダプタが提供するメソッドで発生した例外情報(スタックトレース)が出力されます。
|
例外が発生した時刻,メソッドを確認できます。 |
ログまたはトレースを出力する場合の注意事項については,「7.3.1(3) ログおよびトレース取得時の注意事項(全般的な注意事項)」を参照してください。
(a) メッセージログ
メッセージログに,TP1アダプタの開始・停止時のインフォメーション系メッセージや,RPC通信障害などのエラーメッセージが出力されます。
メッセージログの出力内容や出力先については,「7.4.1 メッセージログ」を参照してください。また,メッセージログの出力レベルを変更する方法については,マニュアル「サービスプラットフォーム リファレンス」の「6.7.1 TP1アダプタ実行環境プロパティファイル」のmessage.levelプロパティを参照してください。
(b) メソッドトレース
メソッドトレースは,内部メソッド発行の時刻やシーケンスを確認できます。保守員が障害解析のために使用します。
-
出力先
TP1アダプタのメソッドトレースは,次に示すディレクトリに出力されます。
<J2EEサーバのログ出力ディレクトリ>\CSCADP\TP1ADP\maintenance\<サービスID>
<J2EEサーバのログ出力ディレクトリ>は,HCSCサーバが動作するJ2EEサーバ用オプション定義ファイル(usrconf.cfg)のejb.server.log.directoryキーで指定します。
メソッドトレースのトレースファイル名を次の表に示します。
表7‒87 メソッドトレースのトレースファイル名(TP1アダプタ) トレースファイルの出力モード
トレースファイル名
ラップアラウンドモードの場合
mtdtrace<面数>.log
シフトモードの場合
mtdtrace.log
-
ファイル面数
出力ファイルの面数のデフォルトは8面です。ファイル面数はTP1アダプタ実行環境プロパティファイルのtrace.filenumキーで変更できます。
TP1アダプタ実行環境プロパティファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「6.7.1 TP1アダプタ実行環境プロパティファイル」を参照してください。変更方法の詳細は,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「3.3.6 TP1アダプタを定義する」のTP1アダプタ実行環境プロパティファイルの作成に関する説明を参照してください。
-
ファイルサイズ
出力ファイルサイズのデフォルトは2MBです。出力ファイルサイズは,TP1アダプタ実行環境プロパティファイルのtrace.filesizeキーで変更できます。
TP1アダプタ実行環境プロパティファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「6.7.1 TP1アダプタ実行環境プロパティファイル」を参照してください。変更方法の詳細は,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「3.3.6 TP1アダプタを定義する」のTP1アダプタ実行環境プロパティファイルの作成に関する説明を参照してください。
-
出力形式
メソッドトレースの出力形式を次の図に示します。
図7‒101 メソッドトレースの出力形式 -
出力される内容
メソッドトレースに出力される内容を次の表に示します。
表7‒88 メソッドトレースに出力される項目(TP1アダプタ) 項目
内容
番号
メソッドトレースの出力通番が表示されます。
日付
メソッドトレースの取得日付がyyyy/mm/ddの形式で出力されます。
時刻
メソッドトレースの取得時刻がhh:mm:ss.SSSの形式で出力されます。
ローカル時刻でミリ秒単位の時刻を示します。
製品ID
製品を特定するための識別子として,TP1アダプタを示す「ADPTP1」と,バージョン情報が表示されます。
バージョン情報の形式は次のとおりです。
-
正規版製品:VV-RR
-
修正版製品:VV-RR-SS
pid
プロセスを識別するためのIDが出力されます。
tid
スレッドを識別するためのIDが出力されます。
ID
空白
種別
トレース取得ポイントの種別が出力されます。
-
BGN:メソッドの開始
-
END:メソッドの終了
-
CAL:メソッドの呼び出し
-
RET:メソッドの戻り
-
ERR:メソッドの例外
クラス名
トレースを取得するクラス名が出力されます。
30文字未満の場合は左詰めされ,足りない文字はスペースで補われます。
メソッド名
トレースを取得するメソッド名
25文字未満の場合は左詰めされ,足りない文字はスペースで補われます。
入出力情報
トレースを取得するメソッドの入出力情報(引数や戻り値の値など)が出力されます。
CRLF
レコード終端符号が出力されます。
-
(c) データトレース
データトレースは,送受信データ内容を取得することで,データ(内部データ)の正当性を確認できます。
-
出力先
データトレースは,次に示すディレクトリに出力されます。
<J2EEサーバのログ出力ディレクトリ>\CSCADP\TP1ADP\maintenance\<サービスID>
<J2EEサーバのログ出力ディレクトリ>は,HCSCサーバが動作するJ2EEサーバ用オプション定義ファイル(usrconf.cfg)のejb.server.log.directoryキーで指定します。
データトレースのトレースファイル名を次の表に示します。
表7‒89 データトレースのトレースファイル名(TP1アダプタ) トレースファイルの出力モード
トレースファイル名
ラップアラウンドモードの場合
dattrace<面数>.log
シフトモードの場合
dattrace.log
-
ファイル面数
出力ファイルの面数のデフォルトは8面です。ファイル面数はTP1アダプタ実行環境プロパティファイルのdatatracefile.numで変更できます。
TP1アダプタ実行環境プロパティファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「6.7.1 TP1アダプタ実行環境プロパティファイル」を参照してください。変更方法の詳細は,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「3.3.6 TP1アダプタを定義する」のTP1アダプタ実行環境プロパティファイルの作成に関する説明を参照してください。
-
ファイルサイズ
出力ファイルサイズのデフォルトは2MBです。出力ファイルサイズは,TP1アダプタ実行環境プロパティファイルのdatatracefile.sizeで変更できます。
TP1アダプタ実行環境プロパティファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「6.7.1 TP1アダプタ実行環境プロパティファイル」を参照してください。変更方法の詳細は,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「3.3.6 TP1アダプタを定義する」のTP1アダプタ実行環境プロパティファイルの作成に関する説明を参照してください。
-
出力形式
データトレースの出力形式を次の図に示します。
図7‒102 データトレースの出力形式 -
出力される内容
データトレースに出力される内容を次の表に示します。
表7‒90 データトレースに出力される項目(TP1アダプタ) 項目
内容
番号
データトレースの出力通番が表示されます。
日付
データトレースの取得日付がyyyy/mm/ddの形式で出力されます。
時刻
データトレースの取得時刻がhh:mm:ss.SSSの形式で出力されます。
ローカル時刻でミリ秒単位の時刻を示します。
製品ID
製品を特定するための識別子として,TP1アダプタを示す「TP1ADP」と,バージョン情報が表示されます。
バージョン情報の形式は次のとおりです。
-
正規版製品:VV-RR
-
修正版製品:VV-RR-SS
pid
プロセスを識別するためのIDが出力されます。
tid
スレッドを識別するためのIDが出力されます。
ID
空白
種別
データの入出力種別が出力されます。
-
REQ:要求電文
-
RSP:応答電文
-
FLT:Fault電文
-
スペース:継続データ
形式
データの形式が出力されます。
-
XML:XML形式
-
BINARY:バイナリ形式
-
ANY:任意形式
6文字未満の場合は左詰めされ,足りない文字はスペースで補われます。
電文情報
送受信電文情報が出力されます。
-
形式が「XML」の場合
送受信データは取得されません。
-
形式が「BINARY」または「ANY」の場合
16進ダンプ形式で,1レコード(128バイト分)が4バイトごとにスペースで区切って出力されます。
-
種別がFault電文の場合
Fault情報の各要素に設定した内容を「要素名=設定値」の形式で出力します。各要素は「,(コンマ)」で区切って出力します。ただし,拡張障害情報(messageId,message)は除きます。
CRLF
レコード終端符号が出力されます。
-
(d) 例外ログ
例外ログには例外情報が出力されます。例外ログの概要については,「7.4.7(1) 例外ログ」を参照してください。
-
出力先
例外ログの出力先を次に示します。
<J2EEサーバのログ出力ディレクトリ>\CSCADP\TP1ADP\maintenance\<サービスID>
<J2EEサーバのログ出力ディレクトリ>の出力先は,HCSCサーバが動作するJ2EEサーバ用オプション定義ファイル(usrconf.cfg)のejb.server.log.directoryキーで指定します。
例外ログのログファイル名を次の表に示します。
表7‒91 例外ログのログファイル名(TP1アダプタ) ログファイルの出力モード
ログファイル名
ラップアラウンドモードの場合
exception<面数>.log
シフトモードの場合
exception.log
-
ファイル面数
出力ファイルの面数のデフォルトは8面です。面数はTP1アダプタ実行環境プロパティファイルのtrace.filenumキーで変更できます。
TP1アダプタ実行環境プロパティファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「6.7.1 TP1アダプタ実行環境プロパティファイル」を参照してください。変更方法の詳細については,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「3.3.6 TP1アダプタを定義する」のTP1アダプタ実行環境プロパティファイルの作成に関する説明を参照してください。
-
ファイルサイズ
出力ファイルサイズのデフォルトは2MBです。ファイルサイズはTP1アダプタ実行環境プロパティファイルのtrace.filesizeキーで変更できます。
TP1アダプタ実行環境プロパティファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「6.7.1 TP1アダプタ実行環境プロパティファイル」を参照してください。変更方法の詳細は,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「3.3.6 TP1アダプタを定義する」のTP1アダプタ実行環境プロパティファイルの作成に関する説明を参照してください。
-
出力形式
例外ログに出力される形式を次に示します。
図7‒103 例外ログに出力される形式 -
出力される内容
例外ログに出力される内容を次の表に示します。
表7‒92 例外ログに出力される項目(TP1アダプタ) 項目
内容
番号
例外ログの出力通番が表示されます。
日付
例外ログの取得日付がyyyy/mm/ddの形式で出力されます。
-
yyyy:西暦年
-
mm:月
-
dd:日
時刻
例外ログの取得時刻がhh:mm:ss.SSSの形式で出力されます。
-
hh:時
-
mm:分
-
ss:秒
-
SSS:ミリ秒
ローカル時刻でミリ秒単位の時刻を示します。
製品ID
製品を特定するための識別子として,TP1アダプタを示す「ADPTP1」が表示されます。
pid
プロセスを識別するためのIDが出力されます。
tid
スレッドを識別するためのIDが出力されます。
ID
空白
スタックトレース情報
スタックトレース情報が出力されます。
CRLF
レコード終端符号が出力されます。
-
(5) TP1/Client/Jのトレース情報の採取
TP1/Client/Jのトラブルシュート機能では次のトレースを取得できます。トラブルシュートを容易にするために,トレース情報の取得をお勧めします。トレース情報の詳細は,マニュアル「サービスプラットフォーム 解説」の「付録A.3 TP1/Client/Jの障害対策」を参照してください。
-
UAPトレース
-
データトレース
-
エラートレース
-
メモリトレース
-
メソッドトレース
-
デバッグトレース
-
性能解析トレース
-
性能検証用トレース
障害発生時は,トレース情報を基に原因を調査してください。なお,障害発生時にトレースを取得していない場合は,トレースを取得するように設定したあと,障害が発生した現象を再現してトレース情報を取得してください。
(6) TP1/Client/Jの適切な応答監視時間の設定
TP1/Client/JのRPC通信を使用したシステムでは,障害の発生をリアルタイムに検出できません。障害検出は時間監視のタイムアウト時となります。それを考慮して,応答監視時間には最適な値を設定してください。応答監視時間は,TP1アダプタ通信構成定義ファイルのwatch_time要素で設定します。
常設コネクションを確立する場合,RAPサーバへのコネクション確立中にRAPサーバ側でシステムダウンなどの障害が発生すると,TP1アダプタではコネクションの解放を検知できないため,通信実行時に異常終了となります。この場合,TP1アダプタからの障害通知は,応答監視時間の満了後になります。
(7) TP1/Client/Jの例外に対するfactor要素の対応表
RPC通信時にTP1/Client/Jが提供する例外について,factor要素(要因)をメソッドごとに次に示します。
(a) コネクション確立処理(openConnectionメソッド)
(b) 応答監視時間の設定(setdcwatchtimメソッド)
例外 |
説明 |
対応するfactor要素 |
---|---|---|
ErrInvalidArgsException |
引数の指定に誤りがあります。この場合,詳細メッセージに誤った引数名が設定されます。 |
unexpected |