集約フローでの制御メッセージの使用

WebSphere® Message Broker でのデフォルトの動作では、 制御メッセージを送信するための AggregateControl ノードと AggregateReply ノードとの間の接続は無視されます。この構成により、パフォーマンスは最適化され、制御メッセージの前に応答メッセージが AggregateReply ノードによって受信されるという可能性はなくなります。

始める前に:

このタスクを完了するには、以下のタスクを完了している必要があります。

制御メッセージは、集約が正しく動作するために必須というわけではありません。 ただし、必要な場合は、集約フローで制御メッセージを送信することが引き続き可能です。 WebSphere Message Broker バージョン 6.0 で作成されたメッセージ・フローに制御メッセージを送信するには、制御メッセージを送信するためのメッセージ・フローの構成および制御メッセージを送信するためのブローカー環境の構成を参照してください。
重要: バージョン 5.0 でメッセージ・フローを作成し、制御メッセージを使用するようにそれらを構成しており、引き続き制御メッセージを使用したい場合は、制御メッセージを送信するためのブローカー環境の構成を参照してください。 このタスクを完了しない限り、製品の以前のバージョンで作成された AggregateControl ノードと AggregateReply ノードとの間の接続は無視されます。
集約の作業例 (制御メッセージを使用しない) については、以下の例を参照してください。 サンプルは、Message Brokers Toolkit と統合されているインフォメーション・センターを使用する場合にのみ表示できます。

制御メッセージを送信するためのメッセージ・フローの構成

AggregateControl ノードから AggregateReply ノードに制御メッセージを送信するためにメッセージ・フローを構成するには、次のようにします。
  1. 「ブローカー・アプリケーション開発」パースペクティブに切り替えます。
  2. 単一のメッセージ・フローにファンアウトおよびファンイン・フローを作成した場合、以下のようにします。
    1. 集約メッセージ・フローを開きます。
    2. 関連付けを行うには、 AggregateControl ノードの制御ターミナルを AggregateReply ノードの制御ターミナルに接続します。

    この接続を、2 つの集約ノード間の直接接続と呼びます。

  3. ファンアウト・メッセージ・フローとファンイン・メッセージ・フローを別々に作成した場合は、以下のようにします。
    1. ファンアウト・メッセージ・フローを開きます。
    2. AggregateControl ノードを構成します。集約ファンアウト・フローの作成 を参照してください。
    3. この段階で、制御メッセージを含む有効な出力メッセージを作成する Compute ノードを構成することができます。 たとえば、制御メッセージを MQOutput ノードに渡す場合、 MQMD をメッセージに追加するように Compute ノードを構成し、そのヘッダー内の必須フィールドを完成させてください。 例えば、次の ESQL をコーディングすることができます。
      SET OutputRoot.MQMD.Version = MQMD_CURRENT_VERSION;
      SET OutputRoot.MQMD.Format = MQFMT_STRING;
    4. 制御メッセージの中間宛先を表す出力ノードを構成します。 たとえば、制御メッセージを中間 WebSphere MQ キューに送信するには、 MQOutput ノードを組み込み、基本プロパティー「キュー・マネージャー名」および「キュー名」内のターゲット・キューを指定します。
    5. AggregateControl ノードの制御ターミナルを Compute ノードの In ターミナルに接続し、 Compute ノードの Out ターミナルを、制御メッセージの中間宛先を表す出力ノードの In ターミナルに接続します。
    6. ファンイン・メッセージ・フローを開きます。
    7. 応答メッセージを受信するように 1 つの入力ノードを構成します。集約ファンイン・フローの作成 を参照してください。さらにこの入力ノードは、 AggregateControl ノードから制御情報を受信します。 例えば、中間 WebSphere MQ キューから応答および制御メッセージを受信するように MQInput ノードの基本プロパティー「キュー名 」を設定します。
    8. 入力ノードから AggregateReply ノードまでの間に、 Filter ノードをファンイン・フローに追加します。ファンイン・フローでのスレッド不足の回避 を参照してください。
    9. 入力ノードの Out ターミナルを、Filter ノードの In ターミナルに接続します。
    10. Filter ノードの out ターミナルを、 AggregateReply ノードの制御ターミナルおよび in ターミナルに接続します。

    この接続を、2 つの集約ノード間の間接接続と呼びます。

制御メッセージを送信するためのブローカー環境の構成

WebSphere Message Broker バージョン 6.0 のデフォルトでは、AggregateRequest ノードの制御ターミナルから AggregateReply ノードへのすべての接続は無視されます。 これらの接続をアクティブにするには、ブローカー環境内で MQSI_AGGR_COMPAT_MODE 環境変数を作成します。 デフォルトではこの環境変数は存在しません。 環境変数の存在は、環境変数を設定した値に関係なく、AggregateControl ノードからの接続がアクティブであることを意味します。

MQSI_AGGR_COMPAT_MODE 環境変数が作成されていない場合、集約ファンアウト・フローのデフォルトの動作が使用されます。 AggregateControl ノードの制御ターミナルが、 直接的または間接的に AggregateReply ノードの IN ターミナルに接続されている場合、この接続は無視され、制御メッセージは送信されません。

MQSI_AGGR_COMPAT_MODE 環境変数が作成されている場合、集約ファンアウト・フローのデフォルトの動作は使用されず、AggregateControl ノードから AggregateReply ノードに制御メッセージを送信できます。 AggregateControl ノードの Control ターミナルが直接的または間接的に AggregateReply ノードの IN ターミナルに接続されていると (集約ファンアウト・フローの作成を参照)、その接続は認識され、制御メッセージが送信されます。ただし、これは最適な構成ではなく、パフォーマンスに悪影響を与える可能性があります。

MQSI_AGGR_COMPAT_MODE 変数を作成し、AggregateControl ノードと AggregateReply ノードとの間の接続を認識できるようにするには、次のようにします。
  • Windows platform Windows® の場合:
    1. 「スタート」 > 「コントロール パネル」 > 「システム」をクリックして、「システムのプロパティ」を開きます。
    2. 「詳細設定」タブをクリックします。
    3. 「環境変数」をクリックします。
    4. 「システム変数」ペインで、「新規」をクリックします。
    5. 「変数名」MQSI_AGGR_COMPAT_MODE と入力します。
    6. (オプション) 「変数値」には入力することも、またはブランクのままにしておくこともできます。
    7. 環境変数を有効にするために、コンピューターを再始動します。
  • Linux platformUNIX platformz/OS platform Linux®、UNIX®、および z/OS® では、次のようにします。
    1. ブローカー・ユーザー ID のプロファイルを編集し、コード
      export MQSI_AGGR_COMPAT_MODE=
      を組み込みます。
    2. プロファイルを再ロードします。
    3. ブローカーを再始動します。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:42:51

ac12312_