Interstage Application Server トラブルシューティング集
目次 索引 前ページ次ページ

第8章 EJBサービス使用時の異常

 EJBサービスで異常が発生した場合の対処方法について説明します。

異常時の対処方法

 対処方法が判明するまで以下の作業を繰り返し行ってください。

1.システムロを参照する

EJBサービスでは、運用中のEJBアプリケーションの情報を、システムログに出力します。EJBアプリケーションの起動時、運用時、および停止時に異常が発生した場合には、システムログに出力される、異常の種別や異常を伝えるメッセージを参照してください。

2.コンソールファイを参照する

EJBサービスでは、以下のような異常が発生した場合、メッセージにスタックトレース情報を加えたものをコンソールファイルとして出力します。
システムログだけでは異常の原因が特定できない場合は、コンソールファイルも同時に参照して対処してください。その場合、メッセージの出力時間と番号で、当該メッセージを特定してください。

3.EJBアプリケーションの異常情報を取得する(デバッグ情報取得)

EJBアプリケーションが異常発生時と異なるExceptionをThrowした場合、コンソールファイルに出力されているスタックトレース情報に、EJBアプリケーションで発生した異常が直接出力されない場合があります。EJBアプリケーションで異常が発生し、コンソール情報を参照しても異常の原因が判明しない場合は、EJBアプリケーションで発生している異常情報の取得を行い対処してください。EJBアプリケーションの異常情報の取得方法については、“J2EEユーザーズガイド” の“EJBアプリケーションのデバッグ”を参照してください。

4. 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

メッセージを出力したプロセスのプロセスIDです。

出力メッセージ番号

システムログに出力したメッセージの番号です。

スタックトレース情報はEJBサービスが例外を検出した場合にだけ出力されます。スタックトレース情報の形式を以下に示します。

―――――――――――――――――――
  時間 : プロセスID スタックトレース
―――――――――――――――――――

時間

メッセージを出力した時間です。

プロセス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)
―――――――――――――――――――――――――――――――――――――――――――――――――

Java標準エラー情報ファイルの参照方法

 EJBサービスでは、EJBアプリケーションの起動プロセス単位でJava標準エラー情報ファイルを作成します。

Java標準エラー情報ファイルの取得場所

 Java標準エラー情報ファイルのファイル名を以下に示します。

――――――――――――――――――――――――――――
  /opt/FJSVejb/var/FJEJBJVMstderr数字
――――――――――――――――――――――――――――

 Java標準エラー情報ファイルは、ファイルの大きさが100Mバイトに達するたびに新しく作成され、古いJava標準エラー情報ファイルは、以下の名前にリネームされます。

――――――――――――――――――――――――――――
  FJEJBJVMstderr数字.old
――――――――――――――――――――――――――――

 Java標準エラー情報ファイルは2世代まで管理され、新しい順に“FJEJBJVMstderr数字”、“FJEJBJVMstderr数字.old”となります。2世代を超えるものは破棄されますので、必要な場合はコピーするなどして退避してください。

Java標準エラー情報ファイルの出力形式

 Java標準エラー情報ファイルの出力形式を以下に示します。

――――――――――――――――――――――――――――
  EJBApplication:EJBアプリケーション名
  ProcessID:プロセスID
  TimeStamp:時間
  =============================================
  フルスレッドダンンプ情報
――――――――――――――――――――――――――――

EJBアプリケーション名

EJBアプリケーションプロセスのプロセスIDです。

プロセス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)
―――――――――――――――――――――――――――――――――――――――――――――


下へ8.1 EJBアプリケーションの配備時の異常
下へ8.2 クライアントアプリケーションの異常
下へ8.3 EJBアプリケーション起動時の警告
下へ8.4 EJBアプリケーションの異常
下へ8.5 JavaVMの異常
下へ8.6 Symfowareの強制終了
下へ8.7 標準出力,標準エラー出力への出力が行われない場合
下へ8.8 アプリケーション連携中の通信回線異常
下へ8.9 エラーメッセージが通知された場合
下へ8.10 システムのメモリ不足
下へ8.11 ライブラリが見つからない場合
下へ8.12 コマンドの異常
下へ8.13 ワークユニット運用時の異常
下へ8.14 ワークユニットの起動または、EJBアプリケーションの起動に失敗した場合
下へ8.15 定義ファイルが更新できない場合
下へ8.16 デッドロックが発生する場合
下へ8.17 Javaアプレットの異常
下へ8.18 データベースを使用したときの異常
下へ8.19 分散トランザクション機能使用時の異常
下へ8.20 その他の異常

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006