WebSphere Application Server - Express for i5/OS, Version 6.1   
             オペレーティング・システム: i5/OS

             目次と検索結果のパーソナライズ化

WebSphere MQ メッセージングのトラブルシューティングのヒント

これらのヒントには、問題が発生したシナリオの説明、問題の原因と考えられること、および推奨される解決法が含まれます。

どのような問題が発生しましたか?

類似した問題が見つからない場合、 または提供されている情報では問題が解決されない場合は 、メッセージング・コンポーネントのトラブルシューティングのヒント を参照してください。

WebSphere MQ のエラー・メッセージや理由コードが、WebSphere Application Server のメッセージ およびログに表示される場合、WebSphere MQ メッセージ資料 (http://publibfi.boulder.ibm.com/epubs/pdf/amqzao05.pdf) を参照してください。

それでも問題が解決できない場合は、IBM からのトラブルシューティングのヘルプ を参照してください。

WebSphere Application Server ノードに固有のメッセージング問題の詳細については、以下のリンクを参照してください。

MDB リスナーが始動に失敗する

リスナー・ポートに対してデプロイされた MDB リスナーが始動に失敗する 場合は、次のメッセージを調べる必要があります。
WMSG0019E: MDB Listener {0}、JMSDestination {1} を開始できません: {2} 
MDB リスナーが始動しない原因をトラブルシューティングするには、 以下の要因を確認します。
  • 管理リソースが正しく構成されていることを確認します。 例えば、管理コンソールを使用してリスナー・ポート・プロパティーの、 宛先 JNDI 名および接続ファクトリー JNDI 名を確認します。 リスナー・ポート、宛先、および接続ファクトリーの他のプロパティーが正しいことを確認します。
  • キューが存在して JMS サーバーに追加済みであることを確認します。
  • キュー・マネージャーおよび JMS サーバーが始動済みであることを確認します。
  • リモート・キュー・マネージャー・リスナーが始動済みであることを確認します。
  • セキュリティーが使用可能である場合は、コンポーネント管理認証エイリアスが、 メッセージ駆動型 Bean によって使用されるキュー接続ファクトリーま たはトピック接続ファクトリーに対して指定済みであることを確認します。 セキュリティーが使用可能でない場合は、これは必要ありません。
  • MDB リスナーの始動に使用されるユーザー ID が適切に許可されていることを確認します。

セキュリティーを使用可能にして JMS アプリケーションを実行する際の問題

セキュリティーを使用可能にして JMS アプリケーションを実行しようとする際に、 以下のエラー・メッセージで表されるような、 認証の問題が発生することがあります。 例: WMSG0019E: MDB Listener PSSampleMDB、JMSDestination Sample/JMS/listen を開始できません: javax.jms.JMSSecurityException: (提供されたセキュリティー・クレデンシャルが無効であることを示しています。)

以下のいずれかを実行 することによって、問題を除去することができます。
  • 認証メカニズムが「Application」に設定されている場合は、 アプリケーションによって有効なクレデンシャルを提供する必要があります。
  • 認証メカニズムが「Container」に設定されている場合は、 コンテナー管理認証別名を持つ JMS ConnectionFactory を構成して、 関連したユーザー名およびパスワードが有効になるようにします。
MQJMS2013 MQQueueManager で提供されたセキュリティー認証は無効: WebSphere MQ を JMS プロバイダーとして使用し、JMS 接続で バインディング・トランスポート・モードを使用している場合、 指定されたユーザーが WebSphere Application Server プロセスの 現在のログオン・ユーザーでないときは、WebSphere MQ による JMS バインディング認証によって、 エラー「MQJMS2013 MQQueueManager で提供されたセキュリティー認証は無効」 が生成されます。 WebSphere MQ を JMS プロバイダーとして使用し、JMS 接続で バインディング・トランスポート・モードを使用する場合は、WebSphere MQ キュー接続ファクトリーに、 プロパティー Transport type=BINDINGS を設定してください。 さらに、次のオプションのいずれか 1 つを選択する必要があります。
  • セキュリティー・クレデンシャルを使用する場合、WebSphere Application Server プロセスの 現在のログオン・ユーザーをユーザーとして指定する必要があります。
  • セキュリティー・クレデンシャルは指定しないでください。 WebSphere MQ 接続ファクトリーで、 「コンポーネント管理認証別名」プロパティーと 「コンテナー管理認証別名」プロパティーが、 いずれも設定されていないことを確認してください。

メッセージング・セキュリティーについて詳しくは、 非同期メッセージング - セキュリティーの考慮事項 を参照してください。

Redhat Linux でキュー・マネージャーを停止できない

Redhat Linux でアプリケーション・サーバーを停止しようとすると、 キュー・マネージャーは Java コア・ダンプを生成して停止し、SystemOut.log ファイルの最後に、 「Stopping Queue manager...」というメッセージが記述される場合があります。

これは RedHat に関する既知の問題 (https://bugzilla.linux.ibm.com/show_bug.cgi?id=2336) によって発生したものであり、libstdc++-2.96-116.7.2 以降で発生します。

これを避けるには、libstdc++-2.96-108.1 レベルに 戻る必要があります。

Solaris の zh_TW.EUC ロケールで Application Server を開始できない

Solaris で zh_TW.EUC にロケールを設定し、JMS プロバイダーとして WebSphere MQ を使用する場合、 アプリケーション・サーバーが開始しないという問題が発生することがありま す。

Solaris での JMS プロバイダーとして WebSphere MQ を 使用する予定であれば、アプリケーション・サーバー始動時の問題を回避するために、LANG 変数と LC_ALL 変数 は zh_TW.EUC (中国語 (繁体字) ロケール) に設定しないようにしてください。 LANG および LC_ALL 変数は、zh_TW.EUC ではなく zh_TW に設定してください。

JMS メッセージ処理中のサーバー・メモリー使用量および java.lang.OutOfMemoryError 例外

デフォルトの JMS プロバイダーを使用する JMS メッセージ集中処理 (例えば、大容量メッセージの重大な並行処理) は、java.lang.OutOfMemoryError 例外の原因となり、またアプリケーション・サーバーを強制終了させる可能性があります。

デフォルトのプロバイダーによる JMS メッセージの処理は、アプリケーション・サーバー・プロセス内のメッセージング・エンジンによって実行されるため、アプリケーション・サーバーの JVM ヒープからメモリーを消費します。 これは、組み込み JMS プロバイダーのサポートが分離したプロセス内で実行されるバージョン 5 とは対照的です。

アプリケーション・サーバーの JVM ヒープのための使用可能なメモリー量が、メッセージおよびメッセージ・サイズの並行プロデューサーまたはコンシューマーの数の影響を取り扱うのに十分な容量で構成されていなかった場合、java.lang.OutOfMemoryError 例外がスローされて、アプリケーション・サーバーは強制終了します。

ソリューション: デフォルトのメッセージング・プロバイダーを使用して JMS メッセージを処理するアプリケーションをデプロイする準備をするとき、メッセージ処理のためのアプリケーション・サーバーのメモリーの潜在的な使用量を予想しなければなりません。 並行プロセッサーの潜在的な数またはメッセージおよびメッセージ・サイズのコンシューマーを考慮して、それから影響を取り扱うアプリケーション・サーバーの JVM ヒープのサイズを設定しなければなりません。

例えば、メッセージを並行処理するために使用されるべきメッセージ駆動型 Bean をデプロイする準備をするとき、並行エンドポイントによるアプリケーション・サーバーのメモリーの潜在的な使用量を予想しなければなりません。 メッセージ要求を並行処理している各エンドポイントは、少なくとも 2 回、メッセージ・サイズをサーバーの JVM ヒープに追加し、特に 2 相トランザクションが適所にある場合は、それ以上追加することができます。

アプリケーション・サーバーの初期ヒープ・サイズおよび最大ヒープ・サイズ・プロパティーを設定することによって、アプリケーション・サーバーの JVM ヒープに使用可能なメモリーの量を構成することができます。 例えば、WebSphere Application Server 管理コンソール・パネル上で、 「サーバー」 > 「アプリケーション・サーバー」 > 「server_name」 > 「Java およびプロセス管理」 > 「プロセス定義」 > 「Java 仮想マシン」 と選択します。

メッセージ駆動型 Bean をデプロイするために使用されるアクティベーション・スペックの最大並行エンドポイント数プロパティーを設定することによって、メッセージを処理することができる並行 MDB エンドポイントの数を構成することができます。 例えば、WebSphere Application Server 管理コンソール・パネル上で、「リソース」 > 「JMS」 > 「JMS プロバイダー」 > 「デフォルトのメッセージング・プロバイダー」 > 「アクティベーション・スペック」 > 「activationspec_name」 と選択します。

「基本」 WebSphere MQ ブローカー (MA0C SupportPac ブローカー) を使用するとき、TopicConnectionFactory 属性がエラーと競合する。

WebSphere MQ メッセージング・プロバイダーを使用して JMS トピック・サブスクライバーを作成するとき、以下のエラー・メッセージが SystemOut.log ファイル内に発生します。
"WSVR0017E: Error encountered binding the J2EE resource, TopicConnectionFactory, as <JNDI_NAME>
   from file:<RESOURCES_FILE> com.ibm.ws.runtime.component.binder.ResourceBindingException: invalid
   configuration passed to resource binding logic. REASON: Failed to create connection factory: Error raised constructing AdminObject, error code:  TopicConnectionFactory attributes clash  :  TopicConnectionFactory attributes clash" 

この問題は、サブスクライバーを作成するために使用された JMS トピック接続ファクトリーの構成によって生じ、これは「基本」のバージョンおよび「ブローカー」のメッセージ選択値を指定します。 「基本」WebSphere MQ ブローカー (MA0C SupportPac ブローカー) は、「ブローカー」メッセージ選択をサポートしません。

ソリューション: JMS トピック接続ファクトリーを変更して「クライアント」のメッセージ選択値を指定します。これは WebSphere MQ 基本ブローカー (MA0C SupportPac ブローカー) のために唯一サポートされた値です。

JMS トランスポートおよび WebSphere MQ を使用して 保護された Web サービス・アプリケーションを実行する際に、 メッセージ「WSEC5061E: SOAP 本文に署名がありません。」が発行される

WebSphere MQ メッセージング・プロバイダーを 使用して、保護された Web サービス・アプリケーションを JMS トランスポートで実行すると、 以下のエラー・メッセージが SystemOut.log ファイル内に発生します。
[9/7/04 12:10:02:895 GMT-06:00] 00000039 enterprise    I   TRAS0014I: The following exception was logged WebServicesFault
faultCode: {http://schemas.xmlsoap.org/ws/2003/06/secext}FailedCheck
 faultString: WSEC5061E: The SOAP Body is not signed.; null
 faultActor: null
 faultDetail:
       stackTrace: com.ibm.wsspi.wssecurity.SoapSecurityException: WSEC5061E: The SOAP Body is not signed.; null
...

問題のシナリオでは、WebSphere Application Server セキュリティーが使用可能になっています。 その場合、Web サービス・セキュリティーを使用して構成された Web サービス・アプリケーションが、 JMS トランスポートを使用してターゲット Web サービスに SOAP 要求を送信しようとしても、 失敗します。JMS リソースは、リモート WebSphere MQ サーバーを使用して、 WebSphere MQ で構成されています。キュー・マネージャーは、この WebSphere MQ サーバー上にあります。

この問題の原因は、同一のアプリケーションが別のアプリケーション・サーバーからも実行され、 しかも同じ WebSphere MQ サーバー内で同じキュー・マネージャーとキュー名を使用しているためです。元のアプリケーションから送信された要求は、同じキューを介して、 セキュリティーが使用可能になっていない可能性のある別のアプリケーション・サーバーに対して処理されます。

解決策: この問題を回避するには、 以下のステップを完了します。
  1. WebSphere MQ サーバーで、固有のポートを使用する固有のキュー・マネージャーを作成します。
  2. 新しいキュー・マネージャーと ポートを使用するように、JMS リソースを再構成します。 例えば、WebSphere Application Server 管理コンソールを 使用して、WebSphere MQ キュー接続ファクトリーの プロパティーを変更してください。 詳しくは、WebSphere MQ 用 JMS キュー接続ファクトリーの構成 を参照してください。

  3. アプリケーションを再実行します。

V6 アプリケーション・サーバーで、 V5 デフォルト・メッセージング・キュー接続ファクトリーを備えた V5.1 クライアントを使用しようとすると、 メッセージ「MQJMS1006: invalid value for tempQPrefix」が発行される

V5.1 アプリケーション・クライアントを使用して、V6 アプリケーション・サーバー上で「V5 デフォルト・メッセージング」リソースとして 定義されたキュー接続ファクトリーに接続しようとすると、次のメッセージが表示されます。
com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object.  
Root exception is com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object.  
Root exception is javax.jms.JMSException: MQJMS1006: invalid value for tempQPrefix:

原因: アプリケーション・クライアントが WebSphere MQ JMS クライアント CSD 04 JAR ファイルを使用中です。WebSphere Application Server バージョン 6 は、tempQprefix をブランクに設定するため、 メソッド setTempqPrefix の CSD 04 リリースではこれを処理できません。

解決策 アプリケーション・クライアントが WebSphere 組み込みメッセージング JAR ファイルを使用する場合は、 WebSphere Application Server V5.1 用 WebSphere 組み込みメッセージングの暫定修正を適用してください。 クライアントが外部 WebSphere MQ JMS クライアントの JAR ファイルを使用する場合は、 CSD05 を適用します。

WebSphere MQ を外部 JMS プロバイダーとして使用する場合、 ユーザー管理トランザクション内で送信されるメッセージが、トランザクションがコミットする前に到着する。

WebSphere MQ を外部 JMS プロバイダーとして使用する場合、 ユーザー管理トランザクション内で送信されるメッセージは、トランザクションがコミットする前に 到着する場合があります。これが起こるのは、WebSphere MQ を外部 JMS プロバイダーとして使用し、 ユーザー管理トランザクション内でメッセージを WebSphere MQ キューに送信する場合だけです。 メッセージは、トランザクションがコミットする前に宛先キューに到着します。

この問題の原因は、WebSphere MQ リソース・マネージャーがユーザー管理トランザクション内で確立されていないことです。

この問題は、コンテナー管理トランザクションを使用すると解決します。

メッセージング・エンジンがエラー「CWSIS1501E: データ・ソースが予期しない例外を引き起こしました」を表示する。

メッセージング・エンジンが始動を試みると、ログに以下のメッセージが表示されます。

CWSIS0002E: メッセージ・エンジンは、開始中に例外を検出しました。
例外:
   com.ibm.ws.sib.msgstore.PersistenceException: CWSIS1501E: The data source has produced an
   unexpected exception: java.sql.SQLException: <dbname> DSRA0010E: SQL  State = 2E000, Error
   Code = -1,001DSR A0010E: SQL State = 2E000, Error Code = -1,001

原因: メッセージング・エンジンのデータベースが見つかりませんでした。

解決策: メッセージング・エンジン上のデータベース名が正確であることを確認し、データベースが作成されていることを確認します。

javax.jms.JMSException: MQJMS2008: failed to open MQ queue in JVM log

このエラーは、MQ キュー名が、内部 Java Message Service (JMS) サーバーのキュー名リストで定義されていない場合に発生することがあります。 また、キュー名を内部 JMS サーバーのキュー名リストに追加せずに 、WebSphere Application Server のキュー宛先を作成した場合にも、発生する可能性があります。

この問題を解決するには、以下を行います。
  1. WebSphere Application Server の管理コンソールを開く。
  2. サーバー」>「アプリケーション・サーバーの管理」> 「server_name」>「サーバー・コンポーネント」>「JMS Servers」の順にクリックする。
  3. キュー名をリストに追加する。
  4. 変更を保管して、サーバーを再始動する。

javax.jms.JMSException: MQJMS3024: unable to start MDB listener

このエラーが発生するのは、 未初期化クライアント ID (永続サブスクリプションに関連しない ClientID) が使用されている場合のみです。 この問題を解決するには、以下の 3 つの方法のいずれか で ClientID を設定します。
  • jmsadmin を介して tcf のプロパティーとして (例えば tcf(myTCF) clientid(myID) を変更します)
  • TopicConnection.setClientID() をプログラマチックに使用して
  • WebSphere MQ トピック接続ファクトリー・リソース上で「クライアント ID」フィールドを設定してください (詳しくは、このトピックの関連リンクを参照してください)。

SVC: jms.BrokerCommandFailedExceptfailed: 3008

このエラーの原因の 1 つとして、 Windows 2000 システムに管理者としてログオンしたことが考えられます。

この問題を解決するには、ログアウトして、管理者ではなくユーザーとして再度ログインしてください。

IBM サポートから入手可能な既知の問題およびその解決法に関する最新の情報については、IBM サポート・ページを参照してください。

IBM サポートの資料を利用すると、 この問題の解決に必要な情報収集の時間を節約できます。 PMR を開く前に、IBM サポート・ページを参照してください。




サブトピック
メッセージング・エラー
WebSphere MQ 接続およびキュー接続ファクトリー作成のエラー
メッセージング・コンポーネントのトラブルシューティングのヒント
関連タスク
WebSphere メッセージングのトラブルシューティング
サービス統合テクノロジーのトラブルシューティング
関連資料
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 7:05:28 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.express.iseries.doc/info/iseriesexp/ae/rmj_prob0.html