4.7. サブスクリプションキューの設定


ほとんどの場合、サブスクリプションキューを手動で作成する必要はありません。なぜなら、プロトコルマネージャーは、クライアントが最初にアドレスへのサブスクライブを要求したときに、自動的にサブスクリプションキューを作成するからです。詳細は、「プロトコルマネージャーおよびアドレス」 を参照してください。永続サブスクリプションの場合、生成されたキュー名はクライアント ID とアドレスを連結したものです。

以下のセクションでは、必要に応じてサブスクリプションキューを手動で作成する方法を説明します。

4.7.1. 永続サブスクリプションキューの設定

キューが永続サブスクリプションとして設定されると、ブローカーは非アクティブなサブスクライバーのメッセージを格納し、再接続時にサブスクライバーに配信します。そのため、クライアントはサブスクライブ後にキューへ配信される各メッセージを受信することが保証されます。

手順

  1. <broker_instance_dir>/etc/broker.xml 設定ファイルを開きます。
  2. 選択したキューに durable 設定要素を追加します。true の値を設定します。

    <configuration ...>
      <core ...>
        ...
        <address name="my.durable.address">
          <multicast>
            <queue name="q1">
              <durable>true</durable>
            </queue>
          </multicast>
        </address>
      </core>
    </configuration>
    注記

    キューはデフォルトで永続性があるため、永続性のあるキューを作成するために、durable 要素を含めて値を true に設定することは、厳密には必要ありません。ただし、要素を明示的に含むと、必要に応じてキューの動作を非永続状態に後で変更できます。

4.7.2. 共有されていない永続的なサブスクリプションキューの設定

ブローカーは、一度に複数のコンシューマーがキューに接続できないように設定することができます。したがって、この方法で設定したキューのサブスクリプションは、"非共有" とみなされます。

手順

  1. <broker_instance_dir>/etc/broker.xml 設定ファイルを開きます。
  2. 選択された各キューに durable 設定要素を追加します。true の値を設定します。

    <configuration ...>
      <core ...>
        ...
        <address name="my.non.shared.durable.address">
          <multicast>
            <queue name="orders1">
              <durable>true</durable>
            </queue>
            <queue name="orders2">
              <durable>true</durable>
            </queue>
          </multicast>
        </address>
      </core>
    </configuration>
    注記

    キューはデフォルトで永続性があるため、永続性のあるキューを作成するために、durable 要素を含めて値を true に設定することは、厳密には必要ありません。ただし、要素を明示的に含むと、必要に応じてキューの動作を非永続状態に後で変更できます。

  3. 選択した各キューに max-consumers 属性を追加します。1 の値を設定します。

    <configuration ...>
      <core ...>
        ...
        <address name="my.non.shared.durable.address">
          <multicast>
            <queue name="orders1" max-consumers="1">
              <durable>true</durable>
            </queue>
            <queue name="orders2" max-consumers="1">
              <durable>true</durable>
            </queue>
          </multicast>
        </address>
      </core>
    </configuration>

4.7.3. 非永続的なサブスクリプションキューの設定

非永続的なサブスクリプションは、通常、一時キューを作成および削除する関連するプロトコルマネージャーによって管理されます。

ただし、非永続サブスクリプションキューのように動作するキューを手動で作成する場合は、キューで purge-on-no-consumers 属性を使用できます。purge-on-no-consumerstrue に設定されている場合、コンシューマーが接続されるまでキューはメッセージの受信を開始しません。さらに、最後のコンシューマーがキューから切断されると、キューは 消去 されます (つまり、メッセージが削除されます)。キューに新しいコンシューマーがキューに接続するまで、キューはそれ以上のメッセージを受信しません。

手順

  1. <broker_instance_dir>/etc/broker.xml 設定ファイルを開きます。
  2. 選択した各キューに purge-on-no-consumers 属性を追加します。true の値を設定します。

    <configuration ...>
      <core ...>
        ...
        <address name="my.non.durable.address">
            <multicast>
                <queue name="orders1" purge-on-no-consumers="true"/>
            </multicast>
        </address>
      </core>
    </configuration>
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.