2012-02-15 5 views
1

MQキューによってアプリケーションが提供されているとします。アプリケーションがエラーを含むメッセージを受信すると、アプリケーション自体が受信したメッセージを特定の無効なメッセージキューにプッシュします。Websphere MQメッセージに拒否理由を公開する

私の質問は、受信側のアプリケーションに無効なメッセージキューにプッシュされたメッセージに失敗/拒否の理由を追加させるための推奨される方法は何ですか?いくつかのソリューションが頭に浮かぶが、私は「ベストプラクティス」と見なされる1わからないよ:別にメッセージをencapsualtingカスタムヘッダ

  • を追加し、標準のヘッダフィールド
  • を使用して

    1. (AB)メッセージ
  • 答えて

    3

    あなたが必要とするすべてはstandard reason codesの一つでMQMD.Feedbackフィールドを使用し、メッセージに理由コードを配置する場合。 WMQ v7.0以降では、アプリケーションは任意の数のmessage propertiesを設定でき、JMSセマンティクスとネイティブWMQ API呼び出しの両方で読み取り可能です。アプリケーション定義のプロパティの名前を付けるために分類法を定義するのはあなた次第です。

    メッセージが、アプリケーション所有のバックアウトキューの代わりにデッドレターキューに再キューされた場合は、通常、Dead Letter Headerの前に追加する必要があります。 MQDLHstructureには、メッセージが再キューされた理由を説明する理由コードのフィールドが含まれています。原則として、アプリケーションはアプリケーション所有のキューを優先してDLQを使用しないでください。アプリケーションがDLQを使用する場合、メッセージをそこに置くためにアクセスする必要があり、そのキューからメッセージを取り出さないようにする必要があります。これは、それがシステム全体のリソースであり、異なるアプリケーションからのメッセージがそこに着陸する可能性があるからです。通常、管理アプリケーションまたはアクセスの高い人は、システムDLQ上でのメッセージの判定および廃棄を行います。

    関連する問題