19.5. AMQ Broker プラグインのサポート


AMQ はカスタムプラグインをサポートします。このプラグインを使用して、デバッグログでのみ使用できる各種のさまざまな種類のイベントに関する情報をログに記録できます。複数のプラグインは、登録、関連付け、および実行が可能です。プラグインは登録の順序に基づいて実行されます。つまり、最初に登録されたプラグインが常に最初に実行されます。

カスタムプラグインを作成して、ActiveMQServerPlugin インターフェイスを使用して実装できます。このインターフェイスにより、プラグインがクラスパスに置かれ、ブローカーに登録されます。すべてのインターフェイスメソッドはデフォルトで実装されるため、実装する必要がある動作のみを追加する必要があります。

19.5.1. プラグインのクラスパスへの追加

関連する .jar ファイルを <broker_instance_dir> /lib ディレクトリーに追加して、カスタム作成したブローカープラグインをブローカーランタイムに追加します。

組み込みシステムを使用している場合は、組み込みアプリケーションの通常のクラスパスの下に .jar ファイルを配置します。

19.5.2. プラグインの登録

broker.xml 設定ファイルに broker-plugins 要素を追加してプラグインを登録する必要があります。property 子要素を使用して、プラグイン設定値を指定できます。これらのプロパティーは、プラグインがインスタンス化された後に読み取られ、プラグインの init (Map<String, String>) 動作に渡されます。

<broker-plugins>
   <broker-plugin class-name="some.plugin.UserPlugin">
      <property key="property1" value="val_1" />
      <property key="property2" value="val_2" />
   </broker-plugin>
 </broker-plugins>
Copy to Clipboard Toggle word wrap

19.5.3. プログラムによるプラグインの登録

プラグインをプログラムで登録するには、registerBrokerPlugin() メソッドを使用してプラグインの新規インスタンスを渡します。以下の例は、UserPlugin プラグインの登録を示しています。

Configuration config = new ConfigurationImpl();

config.registerBrokerPlugin(new UserPlugin());
Copy to Clipboard Toggle word wrap

19.5.4. 特定のイベントのログ

デフォルトでは、AMQ Broker は LoggingActiveMQServerPlugin プラグインを提供し、特定のブローカーイベントをログに記録します。LoggingActiveMQServerplugin プラグインはデフォルトではコメントアウトされ、情報はログに記録されません。

以下の表は、各プラグインプロパティーを説明しています。設定プロパティーの値を true に設定してイベントをログに記録します。

Expand
表19.2 LoggingActiveMQServerPlugin プラグインのプロパティー

プロパティー

説明

LOG_CONNECTION_EVENTS

接続が作成または破棄されたときに情報を記録します。

LOG_SESSION_EVENTS

セッションの作成時または終了時に情報をログに記録します。

LOG_CONSUMER_EVENTS

コンシューマーが作成または閉じられたときの情報をログに記録します。

LOG_DELIVERING_EVENTS

メッセージがコンシューマーに配信され、メッセージがコンシューマーによって確認されると、情報を記録します。

LOG_SENDING_EVENTS

メッセージがアドレスに送信され、メッセージがブローカー内にルーティングされたときの情報をログに記録します。

LOG_INTERNAL_EVENTS

キューが作成または破棄されたとき、メッセージが期限切れになったとき、ブリッジのデプロイ時、および重大な障害が発生するときに、情報をログに記録します。

LOG_ALL_EVENTS

上記のすべてのイベントの情報をログに記録します。

接続イベントをログに記録するように LoggingActiveMQServerPlugin プラグインを設定するには、broker.xml 設定ファイルの <broker-plugins> セクションのコメントを解除します。すべてのイベントの値は、コメントされたデフォルト例では true に設定されます。

<configuration ...>
...
<!-- Uncomment the following if you want to use the Standard LoggingActiveMQServerPlugin plugin to log in events -->
           <broker-plugins>
         <broker-plugin class-name="org.apache.activemq.artemis.core.server.plugin.impl.LoggingActiveMQServerPlugin">
            <property key="LOG_ALL_EVENTS" value="true"/>
            <property key="LOG_CONNECTION_EVENTS" value="true"/>
            <property key="LOG_SESSION_EVENTS" value="true"/>
            <property key="LOG_CONSUMER_EVENTS" value="true"/>
            <property key="LOG_DELIVERING_EVENTS" value="true"/>
            <property key="LOG_SENDING_EVENTS" value="true"/>
            <property key="LOG_INTERNAL_EVENTS" value="true"/>
         </broker-plugin>
      </broker-plugins>
...
</configuration>
Copy to Clipboard Toggle word wrap

<broker-plugins> セクション内の設定パラメーターを変更する場合は、ブローカーを再起動して設定の更新をリロードする必要があります。これらの設定変更は、configuration-file-refresh-period 設定に基づいてリロード されません

ログレベルを INFO に設定すると、イベントの発生後にエントリーがログに記録されます。ログレベルが DEBUG に設定されている場合、イベントの前後でログエントリーが生成されます ( 例 : beforeCreateConsumer() および afterCreateConsumer())。ログレベルが DEBUG に設定されている場合、ロガーは利用可能な場合に通知の詳細情報をログに記録します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat