| Interstage Application Server トラブルシューティング集 | 
			目次
			索引
			![]()  
		 | 
	
| 第8章 J2EEアプリケーション開発・運用時の異常 | > 8.9 Interstage JMSの異常時の対処 | 
下表によくある問題とその対処方法を示します。
| 
 問題  | 
 主な原因  | 
 対処  | 
|---|---|---|
| 
 JNDI定義情報にTopicConnectionFactory、またはQueueConnectionFactoryが見つからない。  | 
 JNDIサブコンテキストが正しくない。  | 
 正しいJNDIサブコンテキストを使用しているか確認してください。  | 
| 
 誤ったTopicConnectionFactory名、QueueConnectionFactory名が使用された。  | 
 すべての名前は大文字、小文字を区別します。  | 
|
| 
 
  | 
 拡張システムでJMSアプリケーションを起動する場合は、Java(TM)VMのシステムプロパティ“com.fujitsu.interstage.isas.SystemName”に拡張システム名を設定する必要があります。javaコマンドの-Dオプションを使用して拡張システム名を設定してください。  | 
|
| 
 JNDI定義情報にTopic、またはQueueが見つからない。  | 
 イベントチャネルが作成されていない。  | 
 esmkchnlコマンドを使用して、イベントチャネルが作成されているか確認してください。  | 
| 
 JNDIサブコンテキストが正しくない。  | 
 正しいJNDIサブコンテキストを使用しているか確認してください。  | 
|
| 
 誤ったTopic名、Queue名、チャネル名、グループ名が使用された。  | 
 すべての名前は大文字、小文字を区別します。  | 
|
| 
 
  | 
 拡張システムでJMSアプリケーションを起動する場合は、Java(TM)VMのシステムプロパティ“com.fujitsu.interstage.isas.SystemName”に拡張システム名を設定する必要があります。javaコマンドの-Dオプションを使用して拡張システム名を設定してください。  | 
|
| 
 JNDI名、クライアント識別子およびDurable Subscription名の制限。  | 
 使用可能な文字種は、アルファベット(大文字小文字ともに)、数字、ピリオド(.)、コロン(:)、アンダースコア(_)、ハイフン(-)、スラッシュ(/)です。スラッシュはJNDI名のアトミック名の区切り文字として認識されます。  | 
 正しい名前を使用してください。  | 
| 
 SubscriberがSession.commit()またはMessage.acknowledge()などでメッセージの受信確認を行っているのに、イベントサービスのesmonitorコマンド画面でのQueueCountが減らない。  | 
 closeメソッドを呼ばずにSubscriberを終了した(アプリケーションの異常終了などを含む)可能性があります。 
 これにより、イベントチャネルにプロキシ(接続情報)が残ったため、イベントチャネルからデータが減らないということが考えられます。  | 
 esmonitorコマンドを使用して、イベントチャネルの状態(ConsumerCount)を確認してください。  | 
| 
 イベントサービスのesmonitorコマンドによりイベントチャネルにメッセージの蓄積が確認できる状態で、JMSアプリケーションを起動してもイベントチャネルからメッセージを受信できない。  | 
 Point-To-Pointメッセージングモデルにおいて、メッセージ受信のトランザクション処理中にアプリケーションが終了し、トランザクションタイムアウトまで受信中であったメッセージが配信されないことが考えられます。  | 
 “イベントサービス運用時の異常”の“アプリケーション運用中の異常”に記載されている“コンシューマアプリケーションの異常終了(接続情報を保存していない場合)”を参照してください。  | 
| 
 od60003の情報メッセージがシステムログに出力される。  | 
 メッセージがイベントチャネルにない場合に出力されることがあります。  | 
 本メッセージが出力されても、メッセージの受信に問題はありません。  | 
| 
 NoClassDefFoundErrorが発生する。  | 
 動作環境の設定に誤りがあります。  | 
 必要な製品が正しくインストールされ、環境変数CLASSPATHが正しく設定されていることを確認してください。  | 
| 
 javax.naming.NamingException: .GlobalTransactionMode nothingが発生する。  | 
 グローバルトランザクション機能を使用するための設定に誤りがあります。  | 
 JNDI環境プロパティcom.fujitsu.ObjectDirector.CORBA.GlobalTransactionModeにTrueが指定されていることを確認してください。  | 
| 
 
 JMS運用コマンドを実行した場合に“Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion' has value '1.n', but '1.n' is required.”のメッセージがコンソールに出力される。  | 
 Interstage Application ServerがインストールしたJDK以外のJDKがインスールされているため、JMS運用コマンドが正常に動作しません。  | 
 以下のことを確認してください。 
 または、以下のディレクトリ(インストールパスはデフォルト)に格納されているJava環境設定ファイル(java_config)に使用するJavaのインストールディレクトリを設定後、JMS運用コマンドを実行してください。 
 設定形式  JDKDIR=javaのインストールディレクトリ(注) 設定例  C:\jdkにインストールしたJDKを使用する場合:  | 
| 
 JMSException  | 
 
  | 
 “メッセージ集”を参照して、ユーザの対処を実施してください。  | 
| 
 Interstage管理コンソールの[サービス] > [JMS] > [イベントチャネル]で[イベントチャネル:状態]画面が表示できない(エラーメッセージ“es39996”または“es39999”が出力される)。  | 
 イベントチャネルグループ名に以下の使用可能な文字以外が含まれています。  | 
 Interstage管理コンソールを使用する場合は、esmonitorコマンドを使用してイベントチャネルグループ名を確認し、esrmchnlコマンドを使用して、該当するイベントチャネルを削除してください。  | 
| 
 イベントチャネル名に以下の使用可能な文字以外が含まれています。  | 
 Interstage管理コンソールを使用する場合は、esmonitorコマンドを使用してイベントチャネル名を確認し、esrmchnlコマンドを使用して、該当するイベントチャネルを削除してください。  | 
|
| 
 Interstage管理コンソールの[サービス] > [JMS] > [保存先]で[保存先:情報]画面が表示できない(エラーメッセージ“es39996”または“es39999”が出力される)。  | 
 格納ディレクトリに以下の使用禁止文字が含まれています。 
  | 
 Interstage管理コンソールを使用する場合は、ユニット作成時のユニット定義ファイルで格納ディレクトリを確認し、esrmunitコマンドを使用して、該当するユニットを削除してください。  | 
| 
 Interstage管理コンソールの[サービス] > [JMS] > [ConnectionFactory]で[ConnectionFactory:一覧]画面が表示できない(エラーメッセージ“jms9997”が出力される)。  | 
 JNDI名に以下の使用禁止文字が含まれています。 
  | 
 Interstage管理コンソールを使用する場合は、jmsinfofactコマンドを使用してJNDI名およびクライアント識別子を確認し、jmsrmfactコマンドを使用して、該当するConnectionFactory定義を削除してください。  | 
| 
 Interstage管理コンソールの[サービス] > [JMS] > [イベントチャネル] > [イベントチャネルグループ名::イベントチャネル名] > [Destination]で[Destination:一覧]画面が表示できない(エラーメッセージ“jms9997”が出力される)。  | 
 JNDI名に以下の使用禁止文字が含まれています。 
  | 
 Interstage管理コンソールを使用する場合は、jmsinfodstコマンドを使用してJNDI名、グループ名およびチャネル名を確認し、jmsrmdstコマンドを使用して、該当するDestination定義を削除してください。  | 
| 
 JMS運用コマンドを使用して作成したDestination定義がInterstage管理コンソールに表示されない。  | 
 イベントチャネルが作成されていない。  | 
 Destination定義のグループ名、チャネル名に指定したイベントチャネルが作成されていることを確認してください。  | 
| 
 誤ったチャネル名、グループ名が使用された。  | 
 jmsinfodstコマンドを使用して、イベントチャネルのグループ名、チャネル名を確認してください。  | 
|
| 
 以下の状態であるにも関わらず、Message-driven Beanアプリケーションにおいてメッセージを受信できない。 
  | 
 IJServerまたはワークユニットの起動後、イベントチャネルが再起動された可能性があります。  | 
 Windows(R)システムの場合はイベントログ、Solaris OEシステムの場合はシステムログに、以下の順でメッセージが出力されている場合、IJServerまたはワークユニットを再起動してください。 
  | 
| 
 以下のように操作した場合、イベントチャネルに格納したメッセージの順序で受信されない。 
  | 
 イベントチャネルのローカルトランザクション処理中に、ワークユニットを強制停止した場合、メッセージはローカルトランザクションのタイムアウト時間に達するまで受信できません。  | 
 ワークユニットを[停止(同期停止)]で停止してください。  | 
| 
 Message-driven Beanを運用した場合、エラーメッセージ“od10965”が出力される。  | 
 イベントチャネルの最大接続数の設定値に、実際に運用中のサプライヤおよびコンシューマの合計値より小さい値が設定されています。  | 
 サプライヤおよびコンシューマが正しい運用状態であるかを確認してください。  | 
注1)ローカルトランザクションのタイムアウト時間は、以下を使用して確認してください。
注2)イベントチャネルの最大接続数は、以下を使用して確認してください。
			目次
			索引
			![]()  
		 |