Interstage Application Server トラブルシューティング集 |
目次
索引
![]() ![]() |
EJBサービスで異常が発生した場合の対処方法について説明します。
対処方法が判明するまで以下の作業を繰り返し行ってください。
EJBサービスでは、運用中のEJBアプリケーションの情報を、システムログに出力します。EJBアプリケーションの起動時、運用時、および停止時に異常が発生した場合には、システムログに出力される、異常の種別や異常を伝えるメッセージを参照してください。
EJBサービスでは、以下のような異常が発生した場合、メッセージにスタックトレース情報を加えたものをコンソールファイルとして出力します。
- EJBアプリケーションで予期せぬ例外(アプリケーションミスによるNullPointerExceptionなど)が発生した場合
- コンテナ内で例外が発生した場合
システムログだけでは異常の原因が特定できない場合は、コンソールファイルも同時に参照して対処してください。その場合、メッセージの出力時間と番号で、当該メッセージを特定してください。
EJBアプリケーションが異常発生時と異なるExceptionをThrowした場合、コンソールファイルに出力されているスタックトレース情報に、EJBアプリケーションで発生した異常が直接出力されない場合があります。EJBアプリケーションで異常が発生し、コンソール情報を参照しても異常の原因が判明しない場合は、EJBアプリケーションで発生している異常情報の取得を行い対処してください。EJBアプリケーションの異常情報の取得方法については、“J2EEユーザーズガイド” の“EJBアプリケーションのデバッグ”を参照してください。
運用中にEJBアプリケーションがハングアップした場合、Javaのフルスレッドダンプを出力することで、ハングアップしている原因を特定できます。ハングアップしているEJBアプリケーションプロセスに対して、SIGQUITを送信することで、フルスレッドダンプ情報が、Java標準エラー情報ファイルに出力されます。
setenv FJEJB_JVM_LOG n(Cシェルの場合)
EJBサービスでは、EJBアプリケーションの起動・停止などの情報をシステムログに出力します。
運用時にEJBアプリケーションからの応答がなくなった場合など、何らかの異常が発生した場合は、イベントビューアでシステムログを参照して、EJBアプリケーションの状態を確認してください。
EJBサービスでは、EJBアプリケーションの起動や停止などの情報をコンソールファイルに出力します。
コンソールファイルのファイル名を以下に示します。
―――――――――――――――――――――――――――― C:\INTERSTAGE\EJB\var\FJEJBconsole ――――――――――――――――――――――――――――
――――――――――――――――― /opt/FJSVejb/var/FJEJBconsole ―――――――――――――――――
コンソールファイルはファイルの大きさが100Kバイトに達するたびに新しく作成され、古いコンソールファイルは以下の名前にリネームされます。
―――――――――― FJEJBconsole.数値 ――――――――――
コンソールファイルは3世代まで管理され、新しい順に“FJEJBconsole”、“FJEJBconsole.1”、“FJEJBconsole.2”となります。3世代を超えるものは破棄されますので、必要な場合はコピーするなどして退避してください。
コンソールファイルの出力形式を以下に示します。
―――――――――――― メッセージ番号情報 スタックトレース情報 ――――――――――――
メッセージ番号情報はシステムログへの出力が行われるたびに出力されます。メッセージ番号情報の形式を以下に示します。
――――――――――――――――――― プロセスID msgID=出力メッセージ番号 ―――――――――――――――――――
メッセージを出力したプロセスのプロセスIDです。
システムログに出力したメッセージの番号です。
スタックトレース情報はEJBサービスが例外を検出した場合にだけ出力されます。スタックトレース情報の形式を以下に示します。
――――――――――――――――――― 時間 : プロセスID スタックトレース ―――――――――――――――――――
メッセージを出力した時間です。
メッセージを出力したプロセスのプロセスIDです。
EJBサービスが検出した例外のスタックトレースです。
コンソールファイルの出力例を以下に示します。
―――――――――――――――――――――――――――――――――――――――――――――――――
254 msgID=1014
08 06 16:36:21:908 : 254 java.rmi.RemoteException: SessionContextERROR
at pkg.CalcBean.setSessionContext(CalcBean.java:45)
at com.fujitsu.interstage.ejb.iiop.session.FJEJBHome.FJcreateSessionContext(FJEJBHome.java:429)
at com.fujitsu.interstage.ejb.iiop.session.FJEJBHome.FJcreate(FJEJBHome.java:780)
at pkg.FJSampleHomeImpl.create(FJSampleHomeImpl.java:35)
at pkg.SampleHomePOATie.create(SampleHomePOATie.java:58)
at pkg.SampleHomePOA.invoke(SampleHomePOA.java:52)
at com.fujitsu.ObjectDirector.PortableServer.POA.MsgRecv(POA.java:2190)
at com.fujitsu.ObjectDirector.PortableServer.POAManager.MsgRecv(Compiled Code)
at com.fujitsu.ObjectDirector.PortableServer.POAnc.MsgRecv(POAnc.java:109)
at com.fujitsu.ObjectDirector.PortableServer.POAThread.run(Compiled Code)
―――――――――――――――――――――――――――――――――――――――――――――――――
EJBサービスでは、EJBアプリケーションの起動プロセス単位でJava標準エラー情報ファイルを作成します。
Java標準エラー情報ファイルのファイル名を以下に示します。
―――――――――――――――――――――――――――― /opt/FJSVejb/var/FJEJBJVMstderr数字 ――――――――――――――――――――――――――――
Java標準エラー情報ファイルは、ファイルの大きさが100Mバイトに達するたびに新しく作成され、古いJava標準エラー情報ファイルは、以下の名前にリネームされます。
―――――――――――――――――――――――――――― FJEJBJVMstderr数字.old ――――――――――――――――――――――――――――
Java標準エラー情報ファイルは2世代まで管理され、新しい順に“FJEJBJVMstderr数字”、“FJEJBJVMstderr数字.old”となります。2世代を超えるものは破棄されますので、必要な場合はコピーするなどして退避してください。
Java標準エラー情報ファイルの出力形式を以下に示します。
―――――――――――――――――――――――――――― EJBApplication:EJBアプリケーション名 ProcessID:プロセスID TimeStamp:時間 ============================================= フルスレッドダンンプ情報 ――――――――――――――――――――――――――――
EJBアプリケーションプロセスのプロセスIDです。
EJBアプリケーションプロセスのプロセスIDです。
フルスレッドダンプを出力した時間です。
SIGQUITを受けることにより、EJBアプリケーションプロセス(Javaプロセス)が出力する情報です。
Java標準エラー情報ファイルの出力例を以下に示します。
―――――――――――――――――――――――――――――――――――――――――――――
EJBApplication:ejbful
ProcessID:1250
TimeStamp:2002/10/11 13:27:42
=============================================
"EJBObject.190" prio=5 tid=0xf70c0 nid=0x1a waiting for monitor entry [0xa2d08000..0xa2d09088]
at com.fujitsu.symfoware.jdbc.ld.LDResultSet.close(LDResultSet.java:299)
at com.fujitsu.symfoware.jdbc.ld.LDConnection.completeTransaction(LDConnection.java:1690)
at com.fujitsu.symfoware.jdbc.ld.LDConnection.commit(LDConnection.java:1276)
at com.fujitsu.symfoware.jdbc.SYMConnection.commit(SYMConnection.java:275)
at com.fujitsu.symfoware.jdbc2.SYMCConnection.commit(SYMCConnection.java:109)
at com.fujitsu.interstage.ejb.container.common.FJConnectionManager.commit_rollback(FJConnectionManager.java:434)
at com.fujitsu.interstage.ejb.container.common.FJConnectionManager.commitAll(FJConnectionManager.java:321)
at com.fujitsu.interstage.ejb.container.common.FJTransactionContext.commit(FJTransactionContext.java:356)
at com.fujitsu.interstage.ejb.container.common.FJUserTransaction.commit(FJUserTransaction.java:256)
at com.fujitsu.interstage.ejb.container.common.FJSharedUserTransaction.commit(FJSharedUserTransaction.java:266)
at com.fujitsu.jcc.ejbean.JCCXBasicCBSBean.commit(JCCXBasicCBSBean.java:137)
at com.fujitsu.jcc.ejbean.JCCXBasicCBSBean.invoke(JCCXBasicCBSBean.java:61)
at com.fujitsu.fasol.ifb.ejb.IFBCBSBean.invoke(IFBCBSBean.java:814)
at com.fujitsu.fasol.ifb.ejb.FJIFBCBSImpl.invoke(FJIFBCBSImpl.java:66)
at com.fujitsu.fasol.ifb.ejb._FJIFBCBSImpl_Tie._invoke(_FJIFBCBSImpl_Tie.java:85)
at com.fujitsu.ObjectDirector.CORBA.ServerRequest.call_invoke(ServerRequest.java:955)
at com.fujitsu.ObjectDirector.PortableServer.POA.MsgRecv(POA.java:2563)
at com.fujitsu.ObjectDirector.PortableServer.POAManager.MsgRecv(POAManager.java:1027)
at com.fujitsu.ObjectDirector.PortableServer.POAnc.MsgRecv(POAnc.java:137)
―――――――――――――――――――――――――――――――――――――――――――――
目次
索引
![]() ![]() |