ワークユニットのトラブル調査支援機能として、以下の機能を使用することができます。
プロセス起動ログ
タイムアウト検出時のスタックトレース取得
なお、トラブル発生時は、「トラブルシューティング集」を参照し、該当する事例に対する対処を実施してください。
CORBAワークユニットのプロセス起動時に、ワークユニットのカレントディレクトリ配下にログファイルを作成し、プロセスの起動パラメタおよび起動時の環境変数を出力する機能を提供します。
CORBAアプリケーションを単体で起動した場合は正常に起動し、CORBAワークユニットとして起動した場合は起動に失敗する場合、ワークユニット定義に必要な環境変数やパス等が設定されていない可能性があります。その場合、本ログファイルを参照することで、起動パラメタおよび環境変数が正しく設定されているかを確認することができます。
ログファイル出力先
[カレントディレクトリ]\[ワークユニット名]\[プロセス ID]_info.log
[カレントディレクトリ]/[ワークユニット名]/[プロセス ID]_info.log
ログファイル出力形式
以下の形式でログファイルは出力されます。
タイトル :プロセス起動日時 1行目 :起動パラメタ 2行目以降 :環境変数
ログファイル出力例
-------------------------------------------------------------------------------- 08/09/2004 08:39:44 ・・・プロセス起動日時 -------------------------------------------------------------------------------- "C:\Interstage\JDK6\bin\java.exe" "simple_s" ・・・起動パラメタ env[0] : ALLUSERSPROFILE=C:\Documents and Settings\All Users ・・・環境変数 env[1] : classpath=C:\Interstage\ODWIN\src\sample\complex\samplelist.Java\data\array; .;C:\Interstage\lib\isadmin_scs.jar;C:\Interstage\jms\lib\fjmsprovider.jar;C:\Inters tage\J2EE\lib\isj2ee.jar;C:\Interstage\J2EE\lib\providerutil.jar;C:\Interstage\J2EE\ lib\fscontext.jar;C:\Interstage\Enabler\Runtime\Java\Classes\jena.jar;C:\Interstage\E nabler\Runtime\Java\Classes\jcifs.jar;C:\Interstage\Enabler\Runtime\Java\Classes\jenaj2 ee.jar;C:\Interstage\lib;C:\Interstage\lib\xmlpro.jar;C:\Interstage\lib\xmltrans.jar ;C:\Interstage\lib\xmltransx.jar;C:\Interstage\ODWIN\etc\class\ODjava4.jar;C:\Inters tage\eswin\lib\esnotifyjava4.jar env[2] : CommonProgramFiles=C:\Program Files\Common Files env[3] : COMPUTERNAME=Interstage env[4] : ComSpec=C:\WINNT\system32\cmd.exe env[5] : EXTPPATH=C:\Interstage\bin env[6] : FJIIOPPATH=C:\Interstage\EJB\BIN env[7] : INCLUDE=C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include\ env[8] : IS_APL_INFO1=0 env[9] : IS_APL_INFO2=0 env[10] : IS_APL_SERIALNUM=1 env[11] : IS_APL_STARTNUM=1 env[12] : IS_APL_SYSNAME=default env[13] : IS_APL_USRNAME=root env[14] : IS_APL_WUNAME=ODSAMPLE env[15] : IS_HOME=C:\Interstage env[16] : IS_J2EEAPF=C:\Interstage\J2EE\var\deployment env[17] : JAVA_HOME=C:\Interstage\JDK6 env[18] : LOGOFF_IGNORE=YES env[19] : NUMBER_OF_PROCESSORS=1 env[20] : OD_HOME=C:\Interstage\ODWIN env[21] : OD_IMPLID=ImpleArraytest env[22] : OD_WORKUNIT=ON env[23] : OD_WUCURRENTDIR=ON env[24] : OD_WUIMPLID=ImpleArraytest env[25] : OS=Windows_NT env[26] : Os2LibPath=C:\WINNT\system32\os2\dll; env[27] : Path=C:\Interstage\JDK6\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\ Wbem;C:\INTERS~1\bin;C:\Interstage\bin;C:\Interstage\ODWIN\bin;C:\INTERS~1\ID\Dir\bi n;C:\INTERS~1\ID\Dir\sdk\c\bin;C:\INTERS~1\ID\Dir\sdk\c\lib\dynamic env[28] : PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH env[29] : PROCESSOR_ARCHITECTURE=x86 env[30] : PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel env[31] : PROCESSOR_LEVEL=15 env[32] : PROCESSOR_REVISION=0209 env[33] : ProgramFiles=C:\Program Files env[34] : SystemDrive=C: env[35] : SystemRoot=C:\WINNT env[36] : TD_HOME=C:\INTERS~1\td env[37] : TEMP=C:\WINNT\TEMP env[38] : TMP=C:\WINNT\TEMP env[39] : UJI_HOME=C:\Interstage\APC\ env[40] : USERPROFILE=C:\Documents and Settings\oms env[41] : windir=C:\WINNT
注意
本機能は、デフォルトでは有効ではありません。ワークユニット定義に設定することで有効になります。ワークユニット定義の登録は、コマンドを使用する方法と、Interstage管理コンソールを使用する方法があります。
ワークユニット定義の「Start Log(プロセス起動ログ採取)」に「YES」を設定します。以下に定義登録の実行例を示します。なお、ワークユニット定義の詳細は「付録A ワークユニット定義」を参照してください。
例
ワークユニット定義の登録例
ワークユニット定義
[Control Option] Start Log:YES
isaddwudefコマンドでワークユニット名を指定して登録します。
isaddwudef -o ISSAMPLE1
以下の方法でプロセス起動ログ採取を設定してください。
Interstage管理コンソールにログインします。
Interstage管理コンソールの
[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット]の[新規作成]タブ
または、
[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ワークユニット名]の[環境設定]タブ
で[ワークユニット設定]の「CORBAワークユニットのプロセス起動ログ」で、「出力する」を選択してください。
Interstage管理コンソールを使用する場合は、「Intestage管理コンソールのヘルプ」も参照してください。
サーバアプリケーションの最大処理時間(タイムアウト時間)が指定されている場合、タイムアウトを検出した時に、プロセスのスタックトレースを出力する機能を提供します。スタックトレースは、その時点でのサーバアプリケーションプロセスのスタック情報であり、ハングまたは遅延している処理を確認することができます。
本機能を使用することで、サーバアプリケーションのタイムアウト発生時に、アプリケーションプログラムが処理中の制御を確認することができます。
出力先
ディレクトリ: [カレントディレクトリ]/[ワークユニット名]/[プロセス ID] ファイル : PID_MMDD-HHMMSS.pstack PID : プロセスID MMDD : 発生月/日 HHMMSS: 発生時間/分/秒
本機能は、デフォルトで有効です。ワークユニット定義で設定できます。サーバアプリケーションでタイムアウトが発生した時の調査のために、サーバアプリケーションの最大処理時間が設定されている場合は、本機能も有効にしておくことを推奨します。また、本機能は、ワークユニットの出口プログラムのタイマ監視およびワークユニットの起動時間監視/停止時間監視でも有効です。
なお、本機能は、Solarisでのみ有効です。
ワークユニット定義の登録は、コマンドを使用する方法と、Interstage管理コンソールを使用する方法があります。
ワークユニット定義の「Output of Stack Trace(タイムアウト検出時のスタックトレース取得の有無)」に「YES」を設定します。以下に定義登録の実行例を示します。なお、ワークユニット定義の詳細は「付録A ワークユニット定義」を参照してください。
例
ワークユニット定義の登録例
ワークユニット定義
[Control Option] Output of Stack Trace:YES
isaddwudefコマンドでワークユニット名を指定して登録します。
isaddwudef -o ISSAMPLE1
以下の方法でスタックトレースの取得を設定してください。
Interstage管理コンソールにログインします。
Interstage管理コンソールの
[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット]の[新規作成]タブ
または、
[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ワークユニット名]の[環境設定]タブ
で[ワークユニット設定]の「スタックトレースの取得」で、「取得する」を選択してください。
Interstage管理コンソールを使用する場合は、「Intestage管理コンソールのヘルプ」も参照してください。