ビジネス・プロセス実行環境のログについて説明します。ビジネス・プロセス実行環境では、BPEL定義の実行時の状態をログファイルに出力します。
ログは、以下のような場合に有効です。
BPEL定義の実行時間の把握
ビジネス・プロセス実行環境を停止するときの、動作中のBPEL定義の確認
ビジネス・プロセス実行環境が強制停止したときの、動作中だったBPEL定義の確認
シミュレーション結果の参照
ログは、採取する情報を変更することができます。変更は、JavaVMのオプションで指定します。
JavaVMオプションの設定は、Interstage Java EE管理コンソール、またはasadminコマンドを使用して行います。詳細は、Interstage Java EE管理コンソールのヘルプ、または“Interstage Application Server Java EE運用ガイド”の“Java EE運用コマンド”の“asadmin”を参照してください。
JavaVMオプションの指定方法を以下に示します。
IJServerクラスタのJavaVMオプションとして、以下のように指定してください。
-Dcom.fujitsu.interstage.isi.bpel.loglevel={0|1|2|3}
本指定がない、または無効な値を指定した場合は、0を指定したものとして動作します。
指定に対応する、ログの名称と用途は以下のとおりです。
loglevel | 名称 | 用途 |
---|---|---|
0 | 実行ログ | 実行中のBPEL定義の確認 |
1 | 性能ログ | タイムアウト値設定の基礎情報の採取 |
2 | 詳細な実行ログ | 実行中のBPEL定義の詳細な確認 |
3 | シミュレーションログ | シミュレーション結果の確認 |
ログは、ビジネス・プロセス実行機能を配備したIJServerクラスタのカレントディレクトリに出力されます。IJServerクラスタのカレントディレクトリについては、“Interstage Application Server Java EE運用ガイド”の“Java EEアプリケーションの提供機能”の“IJServerクラスタ”にある“IJServerクラスタのファイル構成”を参照してください。
ログファイル名は、“isibpel.log”です。ログは、初期状態では日単位でローテーションしています。ローテーションを変更するときは、ログ定義ファイルを修正してください。ログ定義ファイルについては、“ログ定義ファイル”を参照してください。ログファイルは自動的に削除されないため、定期的にローテーション後のログファイルを別のディスクに退避してください。
ログの出力内容は以下のとおりです。
項番 | ログの項目 | ログ種別 | |||
---|---|---|---|---|---|
実行ログ | 性能ログ | 詳細な実行ログ | シミュレーションログ | ||
1 | 日時 | ○ | ○ | ○ | ○ |
2 | ラベル | ○ | ○ | ○ | ○ |
3 | エラー種別 | ○ | ○ | ○ | ○ |
4 | メッセージID | ○ | ○ | ○ | ○ |
5 | BPEL定義のプロセス名 | ○ | ○ | ○ | ○ |
6 | 通番(※1) | ○ | ○ | ○ | ○ |
7 | 実行識別名(※2) | - | - | - | - |
8 | 要素種別 | Receive | Receive | すべて | すべて |
9 | 要素の名前 | - | ○ | ○ | ○ |
10 | 開始/終了 | ○ | ○ | ○ | ○ |
11 | 詳細情報 | - | - | - | ○ |
※1 通番は、BPEL定義の実行開始ごとに増加する値です。2147483647を超えた場合0に戻ります。またIJServerクラスタのサーバーインスタンスを停止した場合、0に戻ります。
※2 実行識別名は、本バージョンでは未対応であり、“-----”と表示されます。
実行ログでは、BPEL定義の実行の開始(Receiveの開始)と終了(Replyの終了)を採取します。要求/応答型のBPEL定義を実行した場合のログの例を以下に示します。
2010-11-09 14:26:41.475 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Receive ----- START ----- 2010-11-09 14:26:42.460 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Reply ----- END -----
性能ログでは、BPEL定義の実行の開始(Receiveの開始)と終了(Replyの終了)、およびWebサービスの実行(Invokeの開始と終了)を採取します。要求/応答型のBPEL定義を実行した場合のログの例を以下に示します。
2010-11-09 14:26:41.475 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Receive ----- START ----- 2010-11-09 14:26:41.865 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Invoke Invoke01 START ----- 2010-11-09 14:26:42.422 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Invoke Invoke01 END ----- 2010-11-09 14:26:42.460 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Reply ----- END -----
詳細な実行ログでは、BPEL定義の実行の開始(Receiveの開始)と終了(Replyの終了)、およびその他の要素(開始と終了)を採取します。Ifの場合、終了のログは実行した条件判定の数だけ出力します。要求/応答型のBPEL定義を実行した場合のログの例を以下に示します。
2010-11-09 14:26:41.475 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Receive ----- START ----- 2010-11-09 14:26:41.737 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Sequence main START ----- 2010-11-09 14:26:41.760 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Assign Assign01 START ----- 2010-11-09 14:26:41.810 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Assign Assign01 END ----- 2010-11-09 14:26:41.865 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Invoke Invoke01 START ----- 2010-11-09 14:26:42.422 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Invoke Invoke01 END ----- 2010-11-09 14:26:42.431 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Assign Assign02 START ----- 2010-11-09 14:26:42.433 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Assign Assign02 END ----- 2010-11-09 14:26:42.455 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Sequence main END ----- 2010-11-09 14:26:42.460 FSP_INTS-ESI_WSBPEL-SV INFO 00001 BPEL001 0000000000000000000 ----- Reply ----- END -----
シミュレーションログでは、詳細な実行ログに加え、各要素の開始と終了時の詳細な情報を採取します。詳細な情報は、1つの要素を実行するごとにシミュレーションログファイルを作成して出力します。シミュレーションログファイルは、詳細な実行ログと同じ位置に通番でサブディレクトリを作成し、その下に作成します。シミュレーションログファイルのファイル名は、以下のルールで作成します。
BPEL定義実行開始からの通番 + "_" + BPEL定義名 + "_" + 要素名 + "_" + 要素の名前 + ".log"
シミュレーションログのファイル名が、詳細な実行ログの詳細情報の項目に入ります。
シミュレーションログは自動的に削除されないため、定期的に別のディスクに退避してください。
シミュレーションログのファイル名やフルパスの長さがOSの最大長を超過した場合、イベントログまたはシステムログにエラーを出力して、シミュレーションログを採取しません。BPELプロセス名や要素の名前を短くしてください。
ファイル名の最大長は255文字、フォルダまでのフルパス(ドライブ名を含みます)の最大長は247文字、ファイルまでのフルパス(ドライブ名を含みます)の最大長は259文字です。
ファイル名の最大長は255バイト、フルパスの最大長は1023バイトです。
ファイル名の最大長は255バイト、フルパスの最大長は4095バイトです。
採取する情報は以下のとおりです。
分類 | 要素名 | 要素の実行前 | 要素の実行後 |
---|---|---|---|
基本アクティビティ | Invoke | ○ 呼び出し時のパラメタ | ○ 復帰値/Faultの情報(要求/応答型の場合) |
Receive | ○ 受信したメッセージ情報 | - | |
Reply | - | ○ 返信するメッセージ情報 | |
Assign | ○ 代入前の値 | ○ 代入後の値 | |
Throw | - | ○ Faultの情報 | |
構造化アクティビティ | Sequence | - | - |
Flow | - | - | |
If | - | ○ 条件式の結果 | |
While | |||
その他の要素 | Variables | - | - |
PartnerLinks | - | - | |
FaultHandlers | ○ Faultの情報 | - | |
CorrelationSets | - | - |
○:出力あり
-:出力なし
BPEL定義とWebサービスの両方とも要求/応答型の場合の各要素のシミュレーションログファイルの例を以下に示します。例はBPEL起動アプリケーション、WebアプリケーションともInterstage Studio Java EEで作成した場合を記載しています。なお、SOAPメッセージ形式の場合の例は、整形して記載しています。
呼び出すサービスに受け渡すメッセージ、サービスから受け渡されるメッセージをSOAPメッセージ形式で出力します。
実行前
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <getCountryData xmlns="http://sample/"> <arg0>11.0</arg0> </getCountryData> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
実行後
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Header/> <S:Body> <ns2:getCountryDataResponse xmlns:ns2="http://sample/"/> </S:Body> </S:Envelope>
BPEL実行開始時の入力パラメタをSOAPメッセージ形式で出力します。
実行前
<?xml version='1.0' encoding='UTF-8'?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <BPELprocessRequest xmlns="http://sample.bpel.org/bpel/sample"> <input>hello</input> </BPELprocessRequest> </S:Body> </S:Envelope>
BPEL実行完了時の出力パラメタをSOAPメッセージ形式で出力します。
実行後
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <BPELprocessResponse xmlns="http://sample.bpel.org/bpel/sample"> <tns:result xmlns:tns="http://sample.bpel.org/bpel/sample">test</tns:result> </BPELprocessResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
1行に1つの変数の情報を採取します。“=”の左側に変数の名前、右側に値を出力します。変数の型が“要素宣言”または“メッセージ”の場合、変数の名前は型の構造を“/”で区切る形式となります。変数の値は、数値、文字列、またはXML形式となります。
実行前
WS1Request/parameters= WS1Request/parameters/ns1:in0= Variable001=aaa
実行後
WS1Request/parameters= WS1Request/parameters/ns1:in0=aaaaa Variable001=bbb
1行目に障害名、2行目に障害変数の名前を採取します。
実行後
{http://docs.oasis-open.org/wsbpel/2.0/process/executable}xsltInvalidSource MyMessageVariable
条件判定の処理を行うごとにファイルを分けて採取します。If要素に、Else/Else If が存在する場合、その数に対応して条件判定を行うため、その数だけファイルを採取します。条件判定の結果と、条件判定の式を採取します。
実行後
False, {OXPath10Expression $input.payload/tns:input = 'A'}
1行目に障害名、2行目に変数名を採取します。障害ハンドラを追加していない場合でも、採取します。
実行後
{http://docs.oasis-open.org/wsbpel/2.0/process/executable}xsltInvalidSource Variable001
ログ定義ファイルでは、ビジネス・プロセス実行機能のログ(実行ログ・性能ログ・詳細な実行ログ・シミュレーションログ)の動作を定義しています。本ファイルを修正することでログの動作を変更することができます。本ファイルは、log4jのログ定義です。ログ定義ファイルは以下の位置にあります。
[Java EE共通ディレクトリ]\domains\interstage\applications\j2ee-modules\ode\WEB-INF\classes\log4j.xml
[Java EE共通ディレクトリ]/domains/interstage/applications/j2ee-modules/ode/WEB-INF/classes/log4j.xml
ログ定義ファイルの、ビジネス・プロセス実行機能のログの動作を定義している部分を以下に示します。
<appender name="FILEEXEC" class="org.apache.log4j.DailyRollingFileAppender"> <param name="file" value="isibpel.log" /> <param name="threshold" value="info"/> <param name="append" value="true" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} FSP_INTS-ESI_WSBPEL-SV INFO %m%n" /> </layout> </appender>