メッセージ・フローまたはメッセージ・セットのデプロイ時の問題の解決

  1. デプロイ時に問題をデバッグするには、以下のログをチェックします。
    • ブローカー・ドメイン・イベント・ログ
    • ローカル・エラー・ログ ( Windows イベント・ログ、または syslog)
    • WebSphere MQ ログ

    これらのログは別個のコンピューターにある場合があり、デプロイメントが正常に行われたことを確認するにはワークベンチ出力と一緒に使用する必要があります。

    デプロイメントが正常に行われたことをチェックするには、mqsilist コマンドを使用するか、 または Windows イベント・ログまたはブローカー・ドメイン・イベント・ログを調べてください。

  2. デプロイメント問題が生じた場合、このチェックリストを使用します。
    • リモート・キュー・マネージャーが実行していることを確認します。
    • チャネルが実行していることを確認します。
    • チャネル状況を表示して、送信されるシステム・メッセージの数が増えているかどうかを調べます。
    • リモート・エンドからチャネルをチェックします。
    • キュー・マネージャー名をチェックします。
    • チャネルがクラスター・チャネルであるかどうか判別します。

このトピックでは、メッセージ・フローまたはメッセージ・セットをデプロイする際に生じる可能性のある共通問題のいくつかに対処するためのアドバイスを示します。
デプロイの準備中:
デプロイメント中:
デプロイメントのキャンセル中:
デプロイメント後:

ブローカーのアーカイブ・ファイルに追加するマイグレーション済みのメッセージ・フローを使用できない

ブローカー・アーカイブ・ファイルにディクショナリーを追加するとエラーが出る

ブローカー・アーカイブ・ファイルをブローカーにドラッグ・アンド・ドロップできない

プラグイン・メッセージ・フローを使用するメッセージ・フローをデプロイできない

コンパイル済みメッセージ・フロー (.cmf) ファイルが生成されなかった

メッセージ・フローをテスト・システム上でしかデプロイできない

デプロイメントはブローカーが存在しないことを示している

構成マネージャー がデプロイしようとしているブローカーが存在しない

構成マネージャーがメモリー不足であることを報告する

バージョン 2.1 ブローカーへのデプロイ時に相関名エラーが出る

z/OS 上でデプロイするときにエラー・メッセージが出る

z/OS において、複数のメッセージ・フローのインスタンスを処理する共用キューに対し、期待された入力の逐次化が行われない

バージョン 6.0 ブローカーへのデプロイメント後に MQe ノードが予想通りに作動しない

デプロイ時にエラー・メッセージが出される

デプロイメント中に生成される可能性のあるエラー・メッセージとその説明を以下にリストします。

メッセージ BIP1106WebSphere MQ 理由コード 2030
  • シナリオ: 大きなメッセージ・セットをデプロイする際に、エラー・メッセージ BIP1106 と理由コード 2030 が出されます。
  • 説明: メッセージのサイズが、ブローカー・キュー・マネージャーへの伝送キューの最大メッセージ長を超えています。
  • 解決策: 以下のようにして、 WebSphere MQ alter qlocal コマンドを使用して伝送キューの最大メッセージ長を増やします。最大メッセージ長はバイト単位になります。
    alter ql(transmit_queue_name) maxmsgl(104857600)
    このコマンドについて詳しくは、「WebSphere MQ システム管理ガイド」を参照してください。
メッセージ BIP1106 WebSphere MQ エラー AMQ7463
  • シナリオ: 構成マネージャーとキュー・マネージャーを共用するブローカーに大きなメッセージ・セットをデプロイする際に、エラー・メッセージ BIP1106 と理由コード 2102 が出されます。 WebSphere MQ エラー・メッセージ AMQ7463 も出されます。テキストは以下のとおりです。キュー・マネージャー <queue manager> のログがいっぱいです
  • 解決策:
    1. mqsistop コマンドを使用して構成マネージャーを停止します。
    2. mqsistop コマンドを使用してブローカーを停止します。
    3. 以下のように、WebSphere MQ amqmdain コマンドを使用してキュー・マネージャーを停止します。amqmdain end <queue manager>
    4. 「スタート」 > 「プログラム」 > 「IBM WebSphere MQ」 > 「WebSphere MQ サービス」 をクリックして、「スタート」メニューから、WebSphere MQ サービスを開始します。
    5. キュー・マネージャーを右マウス・ボタン・クリックして、 「プロパティー」をクリックしてから、 「ログ」タブをクリックします。
    6. 1 次ファイルと 2 次ファイルの数を増やして、 合計サイズがデプロイ・メッセージより大きくなるようにします。
    7. mqsistart コマンドを使用して 構成マネージャーを再開します。
    8. mqsistart コマンドを使用してブローカーを再開します。
    9. 以下のように、WebSphere MQ amqmdain コマンドを使用してキュー・マネージャーを再始動します。amqmdain start <queue manager>
メッセージ BIP1538E
  • シナリオ: 大きなメッセージ・セットをデプロイする際に、エラー・メッセージ BIP1538E と理由コード 2218 が出されます。
  • 説明: メッセージのサイズが、チャネルの最大メッセージ・サイズを超えています。
  • 解決策: チャネルの対の両方でチャネル maxmsgl パラメーターの値を大きくします。 両方の終端で以下のようにします。
    1. 構成マネージャーのキュー・マネージャー上で、 WebSphere MQ alter channel コマンドを発行します。たとえば、以下のようにします。
      alter chl(CM_to_BRK) chltype(sdr) MAXMSGL(104857600)
      alter chl(BRK_to_CM) chltype(rcvr) MAXMSGL(104857600)
    2. ブローカーのキュー・マネージャー上で、 WebSphere MQ alter channel コマンドを発行します。たとえば、以下のようにします。
        alter chl(BRK_to_CM) chltype(sdr) MAXMSGL(104857600)
        alter chl(CM_to_BRK) chltype(rcvr) MAXMSGL(104857600)
    3. 個々のチャネルを停止してから再始動し、これらの変更が適用されるようにします。
メッセージ BIP1536
  • シナリオ: 構成マネージャーが 1 つのユーザー ID を使用して実行するよう定義しており、ブローカーが別のユーザー ID を使用して別のコンピューターで実行するよう定義しています。メッセージ・フローおよびメッセージ・セットをブローカーにデプロイする際に、デプロイメントは正常に行われますがエラー・メッセージ BIP1536 が出されます。
  • 説明: ブローカーと構成マネージャーを実行する際の ID が違うので、構成マネージャーは内部サブスクリプション用にブローカーを登録できません。ブローカーと構成マネージャーは、パブリッシュ/サブスクライブにより内部メッセージを相互に中継します。 これらのメッセージは WebSphere MQ により送信され、特定の権限が必要です。
  • 解決策:
    • ブローカーのユーザー ID が mqm および mqbrkrs グループのメンバーであることを確認します。
    • 構成マネージャーを実行しているコンピューター上で、ブローカーのユーザー ID を定義します。
    • ブローカーを実行しているコンピューター上で、構成マネージャーのユーザー ID を定義します。
    • すべての ID が小文字で、コンピューター間で互換性があることを確認します。
メッセージ BIP1536 およびメッセージ BIP7017
  • シナリオ: エラー・メッセージ BIP1536 および BIP7017 が表示されます。
  • 説明: ブローカー状況の変更を処理するトピックで内部サブスクリプションを登録する際に、構成マネージャーに問題があります。このため、完全な構成をデプロイするたびに登録を試行します。 この問題の原因はメッセージ BIP7017 に示されます。これは、ユーザー・ネーム・サーバーが構成された状態で実行していますが、デプロイ先のブローカーのユーザー・キャッシュに構成マネージャー・サービス・ユーザー ID がないことを示しています。
  • 解決策: 以下の検査を行います。この問題を識別して訂正すると、サブスクリプションは次にデプロイするときに以下のように正常に登録されます。
    • ユーザー・ネーム・サーバーが開始していることを確認します。
    • ユーザー・ネーム・サーバーとブローカーの間の WebSphere MQ チャネルが開始していることを確認します。
    • ユーザー ID がユーザー・ネーム・サーバーのドメイン内に存在していることを確認します。
メッセージ BIP1835
  • シナリオ: エラー・メッセージ BIP1835 が表示されます。
  • 説明: デプロイするメッセージ・セットが内部の上限 4MB よりも大きいメッセージ・セット・ディクショナリーを生成します。これは、大容量のメッセージ定義を同じメッセージ・セットに数多く定義したことが原因である可能性があります。

    エクスポートされたメッセージ・セットは XML として保管されるため、エクスポートされたメッセージ・セットのサイズが、デプロイ時に生成されるメッセージ・セット・ディクショナリーの実際のサイズを適切に表すわけではありません。 これはとても冗長である可能性がありますが、ディクショナリーにははるかにコンパクトな内部フォーマットがあります。

  • 解決策: メッセージ定義をいくつかの小さいメッセージ・セットに分割してください。
メッセージ BIP2045
  • シナリオ: エラー・メッセージ BIP2045 が表示されます。
  • 説明: このメッセージは、ブローカーを 2 番目の (あるいは、再初期化された) 構成マネージャーに割り当てようとしたことを示しています。

    各ブローカーは、Message Brokers Toolkit または 構成マネージャー・プロキシーがブローカーの定義を作成する際に割り振られる universally unique identifier (UUID) によって識別されます。 デプロイメントが行われるとき、構成マネージャーの制御下にないブローカーに対して不測のデプロイメント変更が行われないようにするために、UUID 検査が行われます。 エラー BIP2045 を受け取った場合、デプロイメント・メッセージの宛先は、ある UUID を持つブローカーであったものの、処理を行ったのは別の UUID を持つことを予期していたブローカーでした。

  • 解決策: 可能な場合、このブローカーを管理する構成マネージャーを使用して、デプロイメント要求を再発行します。

    それが不可能なら、構成マネージャー・プロキシー API BrokerProxy.setUUID() メソッドを使用して、構成マネージャーのブローカー定義の UUID を、ブローカーが予期する UUID になるよう設定します。 この API は、構成マネージャー・プロキシー API エクササイザーのサンプルを使用して起動することもできます。

    このメソッドを起動することにより、構成マネージャーはブローカーへデプロイできるようになりますが、以前にブローカーへデプロイされたリソースは構成マネージャーによってモニターされません (すでにモニターされている場合を除く)。

    依然としてデプロイできない場合には、以下のステップに従ってください。
    1. ブローカー・コンポーネント、その構成表、およびそのキュー・マネージャーを削除します。
    2. Message Brokers Toolkit または構成マネージャー・プロキシーを使用して、ブローカー定義をドメインから除去します。
    3. トポロジーを再デプロイします。
    4. Message Brokers Toolkit または構成マネージャー・プロキシーを使用して、ブローカー・コンポーネントを再作成し、それに参照を追加します。
    5. 任意のリソースをブローカーに再デプロイします。

    ブローカーの削除時または再作成時にこの問題の再発を防ぐためには、実行中のブローカー・コンポーネントを停止して削除するに、必ずブローカー定義をドメインから除去して、トポロジーが正常にデプロイされるようにしてください。

メッセージ BIP2066
  • シナリオ: エラー・メッセージ BIP2066 が表示されます。
  • 説明: ブローカーのタイムアウト ConfigurationTimeout および ConfigurationDelayTimeout (デフォルトは 60 秒) が満了する前に、実行グループによってデプロイメント要求が確認されませんでした。
  • 解決策: mqsicreatebroker および mqsichangebroker コマンドの -g および -k フラグを使用して、これらのタイムアウトを変更してください。
メッセージ BIP2242
  • シナリオ: エラー・メッセージ BIP2242 が表示されます。
  • 説明: ブローカーのタイムアウト ConfigurationTimeout (デフォルトは 300 秒) が満了する前にデプロイ (構成変更) 要求が受け入れられませんでした。このタイムアウトは、メッセージ・フローが現在のメッセージの処理を完了してからデプロイ要求を受け入れるのに十分な長さである必要があります。
  • 解決策: mqsicreatebroker および mqsichangebroker コマンドの -g および -k フラグを使用して、これらのタイムアウトを設定する方法の詳細について、コマンド を参照してください。
タグ付き/区切りストリング (TDS) バリデーター・エラー
  • シナリオ: エラーの発生した TDS ワイヤー形式のメッセージ・セットをデプロイしようとしています。
  • 説明: エラー・ログからの以下の抽出で、TDS バリデーター・エラーが表示されます。この場合、問題の原因はエレメント Town に定義済みのタグがないということです。
    TDS Extractor Trace File
    ========================
    
    Beginning Extract..
    
    Extracting Identification Info
    Extracting Project Info
    Extracting Messages
    Extracting Elements
    Extracting Compound Types
    Extracting Type Members
    Extracting Type Members
    Extracting Type Members
    Extracting Type Members
    Extracting Type Members
    Beginning Indexing..
    
    Creating Member IDs to Tags Index Table.
    
    Beginning Validation..
    
    Validating Project
    Validating Types
    ERROR: TDSValidator::ValidateTypeMemberSimpleElement:
        Simple elements in a type with Data Element Separation attribute = Tagged
        Delimited must have the following attribute set:
        Element Level - Tag
    (Element ID: Town)
    (Type ID: AddressType)
    Return Code: -80
    
    Validating Messages
    
    Trace Info
    ===========
    EXCEPTION: TDSValidator::Validate:
        TDS Validation failed.
            1 errors
            0 warnings
    Return Code: -1
  • 解決策: エラー・ログ内の情報を使用して問題を解決します。

バージョン 6.0 構成マネージャーからバージョン 2.1 ブローカーへデプロイしようとするとエラー・メッセージ BIP2432E が出される

デプロイメントをキャンセルすると、mqsilist は実行グループ内のメッセージ・フローを表示するが、ツールはこれを表示しない

デプロイの結果が通知されない

デプロイメントが正常に行われたことを確認できない

デプロイされたメッセージ・フローまたはメッセージ・セットが見つからない

削除されたブローカーがドメイン・ナビゲーターに残っている

XMLTransformation ノードがデプロイメント後に作動しない

以下の 2 つのシナリオは、デプロイメント後に XMLTransformation ノードが作動しない理由を説明しています。

スタイル・シートが見つからなかったことを示すエラー・メッセージが表示される

予期しない変換結果を受け取る

  • シナリオ: 予期しない変換結果を受け取ります。
  • 説明: 複雑なメッセージ・フローの場合、デプロイメント後にスタイル・シートおよび XML ファイル間で非互換性が生じる場合があります。 これには 2 つの理由が考えられます。
    • 共同で機能するスタイル・シートまたは XML ファイルの一部分だけがデプロイまたは更新されている (これはファイル・システム障害が原因で生じる場合がある)。
    • 同じ実行グループの内部で実行している複数の XMLT ノードは、互換性のあるスタイル・シートを使用しなければならないのに、異なるバージョンのスタイル・シートを使用して同じ着信メッセージを処理している。
  • 解決策: 共同で機能するスタイル・シートまたは XML ファイルがデプロイまたは更新された場合、互換性のあるバージョンを再デプロイすることによって非互換性を解決します。 複数の XMLT ノードが異なるバージョンのスタイル・シートを使用することがないように、デプロイメントを実行する前にターゲット実行グループの関連するメッセージ・フローを休止してから、そのフローを再開します。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2005 Last updated: 11/07/2005
au16540_