6.3. JMS API を使用した AMQ Broker の管理


Java Message Service (JMS) API を使用すると、メッセージの作成、送信、受信、読み取りが可能です。ブローカーを管理するには、JMS と Red Hat build of Apache Qpid JMS クライアントを使用できます。

6.3.1. JMS メッセージおよび Red Hat build of Apache Qpid JMS クライアントを使用したブローカー管理の設定

JMS を使用してブローカーを管理するには、まず manage パーミッションでブローカーの管理アドレスを設定する必要があります。

手順

  1. <broker_instance_dir>/etc/broker.xml 設定ファイルを開きます。
  2. <management-address> 要素を追加し、管理アドレスを指定します。

    デフォルトでは、管理アドレスは activemq.management です。デフォルトを使用しない場合は、別のアドレスを指定する必要があります。

    <management-address>my.management.address</management-address>
  3. 管理アドレスに manage ユーザーパーミッションタイプを指定します。

    このパーミッションタイプにより、管理アドレスの管理メッセージが受信および処理できるようになります。

    <security-setting-match="activemq.management">
        <permission-type="manage" roles="admin"/>
    </security-setting>

6.3.2. JMS API および Red Hat build of Apache Qpid JMS クライアントを使用したブローカーの管理

JMS メッセージを使用して管理操作を呼び出すには、Red Hat build of Apache Qpid JMS クライアントで特別な管理キューをインスタンス化する必要があります。

手順

  1. QueueRequestor を作成して、管理アドレスにメッセージを送信し、返信を受信します。
  2. Message を作成します。
  3. ヘルパークラス org.apache.activemq.artemis.api.jms.management.JMSManagementHelper を使用して、メッセージに管理プロパティーを記入します。
  4. QueueRequestor を使用してメッセージを送信します。
  5. ヘルパークラス org.apache.activemq.artemis.api.jms.management.JMSManagementHelper を使用して、管理応答から操作結果を取得します。

例6.2 キュー内のメッセージ数の表示

以下の例は、JMS API を使用して JMS キュー exampleQueue でメッセージの数を表示する方法を示しています。

Queue managementQueue = ActiveMQJMSClient.createQueue("activemq.management");

QueueSession session = ...
QueueRequestor requestor = new QueueRequestor(session, managementQueue);
connection.start();
Message message = session.createMessage();
JMSManagementHelper.putAttribute(message, "queue.exampleQueue", "messageCount");
Message reply = requestor.request(message);
int count = (Integer)JMSManagementHelper.getResult(reply);
System.out.println("There are " + count + " messages in exampleQueue");
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.