0

Message Broker 7.0 と MQ 7.0 を使用して単純な pub/sub フローを開発する際の助けをいただければ幸いです。

私のフローは、ヘッダーのない特定のメッセージを受け入れ、フィールドに基づいてフィルター処理することになっています (値が "yes" の場合はプロセス) そして、メッセージのノードにリストされているすべてのキューに本文を発行します

<pub>
  <header>
       <topics>
           <topic> Topic1  </topic>
           <topic> Topic2  </topic>
       </topics>

       <properties>
          <property>
                          <publish>yes</publish>
                  </property>     
           </properties>
   </header>

   <body>  
      <a>
         <b>The publication </b>
      </a>
   </body> 
</pub>

これが私の流れです:

メッセージ フロー

MQ にトピックとサブスクリプションを登録しましたが、次に何をすればよいかほとんどわかりません。ポイントツーポイント アプリケーションのテストに RFHUtil を使用しましたが、パブリッシュ/サブスクライブの開発中にそれを使用する方法がわかりません。

質問: 1. パブリッシャーとして単純なキューを使用するのは正しいですか (MQ 入力では、MQ にあるキューを「IN」に設定するだけです) 2. このフローでサブスクライバー/複数のサブスクライバーを登録するにはどうすればよいですか? サブスクリプションポイントとは何ですか?

それは単なる学習課題です。

どんな助けでも大歓迎です!

4

1 に答える 1

3

通常の pub-sub フローでは、次のようなものを使用できます。

サンプルフロー

MQInput ノードのキュー名を入力キューに設定します。「inputQ」と名付けましょう。

これで、メッセージは「inputQ」から MQInput ノードによって読み取られ、計算ノードに渡されました。

計算ノードでは、メッセージ タイプをパブリッシュに設定し、トピック名も設定してから、パブリケーション ノードに渡す必要があります。

同じために以下のコードを使用できます。

SET OutputRoot.MQRFH2.psc.Command = 'Publish';
SET OutputRoot.MQRFH2.psc.Topic = 'YourTopicString';

「このフローでサブスクライバー/複数のサブスクライバーを登録するにはどうすればよいですか?」

あなたの問題は「同じフローから異なるトピックでメッセージを公開する方法」であると想定しています。

ここで、同じフローから複数のトピックを公開するとします。一度にすべてを行うことはできません。1 つのメッセージに 1 つのトピックを含めることができます。

ただし、以下のように実現できます (3 つのトピックがあるとします)。

SET OutputRoot.MQRFH2.psc.Command = 'Publish';
SET OutputRoot.MQRFH2.psc.Topic = 'Topic1';
PROPAGATE TO TERMINAL 'out' DELETE NONE;
SET OutputRoot.MQRFH2.psc.Topic = 'Topic2';
PROPAGATE TO TERMINAL 'out' DELETE NONE;
SET OutputRoot.MQRFH2.psc.Topic = 'Topic3';
PROPAGATE TO TERMINAL 'out' DELETE NONE;
RETURN FALSE;

ただし、要件が単一のトピックを発行することであるが、複数のキューがそれを取得する必要がある場合は、より簡単です。

トピックのすべてのキューのサブスクリプションを作成するだけです。

于 2013-01-16T16:29:23.593 に答える