キューに入れられたパブリッシュ/サブスクライブのメッセージ属性の設定

パブリッシュ/サブスクライブ・メッセージの一部の属性の振る舞いは、キュー・マネージャー属性によって制御します。 その他の属性は、qm.iniファイルのBrokerスタンザで制御します。

本タスクについて

以下のパブリッシュ/サブスクライブ属性を設定できます。詳しくは、 キュー・マネージャー・パラメーター を参照してください。
表 1. パブリッシュ/サブスクライブ構成パラメーター
説明 MQSC パラメーター名
コマンド・メッセージの再試行回数 PSRTYCNT
配信不能なコマンド入力メッセージの廃棄 PSNPMSG
配信不能なコマンド応答メッセージの後の振る舞い PSNPRES
同期点でのコマンド・メッセージの処理 PSSYNCPT
Broker スタンザは、以下の構成設定を管理するために使用します。
  • PersistentPublishRetry=yes|強制

    Yes を指定した場合に、キュー型パブリッシュ/サブスクライブ・インターフェース経由の持続メッセージのパブリケーションに失敗すると、否定応答を要求していなければ、パブリッシュ操作が再試行されます。

    否定応答メッセージを要求していた場合は、否定応答が送信され、それ以上の再試行は行われません。

    Force を指定した場合に、キュー型パブリッシュ/サブスクライブ・インターフェース経由の持続メッセージのパブリケーションに失敗すると、正常に処理されるまでパブリッシュ操作が再試行されます。 否定応答は送信されません。

  • NonPersistentPublishRetry=yes|フォース

    Yes を指定した場合に、キュー型パブリッシュ/サブスクライブ・インターフェース経由の非持続メッセージのパブリケーションに失敗すると、否定応答を要求していなければ、パブリッシュ操作が再試行されます。

    否定応答メッセージを要求していた場合は、否定応答が送信され、それ以上の再試行は行われません。

    Force を指定した場合に、キュー型パブリッシュ/サブスクライブ・インターフェース経由の非持続メッセージのパブリケーションに失敗すると、正常に処理されるまでパブリッシュ操作が再試行されます。 否定応答は送信されません。

    注:この機能を永続的でないメッセージに対して有効にしたい場合は、NonPersistentPublishRetryの値を設定するだけでなく、キュー・マネージャ属性PSSYNCPTYes に設定されていることも確認する必要があります。

    同期点では STREAM キューの MQGET が実行されるようになったため、これを行うと、非持続パブリケーションの処理のパフォーマンスにも影響を与える可能性があります。

  • PublishBatchSize=数字

    ブローカーは通常、同期点でパブリッシュ・メッセージを処理します。 パブリケーションごとに個別にコミットすると効率が落ちる可能性があり、状況によっては、ブローカーは複数のパブリッシュ・メッセージを 1 つの作業単位として処理できます。 このパラメーターでは、1 つの作業単位で処理できるパブリッシュ・メッセージの最大数を指定します。

    PublishBatchSize のデフォルト値は 5 です。

  • PublishBatchInterval=数字

    ブローカーは通常、同期点でパブリッシュ・メッセージを処理します。 パブリケーションごとに個別にコミットすると効率が落ちる可能性があり、状況によっては、ブローカーは複数のパブリッシュ・メッセージを 1 つの作業単位として処理できます。 このパラメーターでは、バッチに含まれている最初のメッセージから、その同じバッチに含まれている後続パブリケーションまでの間の最大時間をミリ秒単位で指定します。

    メッセージがすぐに使用可能であれば、バッチの間隔を 0 にすると、最大 PublishBatchSize 個のメッセージを処理できます。

    PublishBatchInterval のデフォルト値はゼロです。

手順

IBM® MQ エクスプローラー、プログラマブル・コマンド、または runmqsc コマンドを使用して、パブリッシュ/サブスクライブの動作を制御するキュー・マネージャー属性を変更します。

ALTER QMGR PSNPRES(SAFE)