5.4. 管理操作

JMX または JMS メッセージを使用して AMQ Broker を管理する場合でも、同じ API 管理操作を使用できます。管理 API を使用すると、ブローカー、アドレス、およびキューを管理できます。

5.4.1. ブローカー管理操作

管理 API を使用してブローカーを管理できます。

キューの一覧表示、作成、デプロイ、破棄

デプロイされたキューのリストは、getQueueNames()メソッドで取得できます。

キューは、ActiveMQServerControl の管理操作 createQueue()deployQueue()、または destroyQueue() を使用して作成または破棄できます (ObjectName org.apache.activemq.artemis:broker="BROKER_NAME" またはリソース名 server を使用)。

deployQueue が何もしない間、キューがすでに存在する場合、createQueue は失敗します。

キューの一時停止および再開
QueueControlは、基礎となるキューを一時停止したり、再開したりすることができます。キューが一時停止すると、メッセージは受信されますが、配信されません。再開すると、キューに格納されたメッセージの配信を開始します(存在する場合)。
リモート接続の一覧表示および閉じる

listRemoteAddresses()を使って、クライアントのリモートアドレスを取得します。また、closeConnectionsForAddress()メソッドを使って、リモートアドレスに関連する接続を閉じることも可能です。

または、listConnectionIDs() を使用して接続 ID を一覧表示し、listSessions() を使用して指定の接続 ID の全セッションを一覧表示します。

トランザクションの管理

ブローカーがクラッシュした場合、ブローカーの再起動時に一部のトランザクションを手動で介入する必要がある場合があります。以下の方法を使用して、発生した問題を解決します。

listPreparedTransactions() メソッドリストを使用して、準備済み状態のトランザクションを一覧表示します(トランザクションは不透明な Base64 文字列として表されます)。

commitPreparedTransaction()またはrollbackPreparedTransaction()を使用して、指定された準備済みトランザクションをコミットまたはロールバックし、ヒューリスティックトランザクションを解決します。

listHeuristicCommittedTransactions() メソッドおよび listHeuristicRolledBackTransactions メソッドを使用して、ヒューリスティックに完了したトランザクションを一覧表示します。

メッセージカウンターの有効化およびリセット

enableMessageCounters()またはdisableMessageCounters()メソッドを使用して、メッセージカウンターを有効または無効にします。

resetAllMessageCounters()メソッドとresetAllMessageCounterHistories()メソッドを使用して、メッセージカウンターをリセットします。

ブローカー設定および属性の取得
ActiveMQServerControlは、そのすべての属性(たとえば、ブローカーのバージョンを取得するためのgetVersion()メソッドなど)を通じて、ブローカーの設定を公開します。
コアブリッジおよび迂回の一覧表示、作成、破棄

デプロイされた Core Bridge を一覧表示し、getBridgeNames()getDivertNames() メソッドをそれぞれ使用して迂回します。

ActiveMQServerControlで、createBridge()destroyBridge()またはcreateDivert()destroyDivert()を使用するブリッジと迂回を使用して、作成または破棄します(ObjectName org.apache.activemq.artemis:broker="BROKER_NAME" またはリソース名 serverを使用)。

ブローカーを停止し、現在割り当てられているクライアントでフェイルオーバーを強制する

ActiveMQServerControlforceFailover()を使用します(ObjectName org.apache.activemq.artemis:broker="BROKER_NAME" またはリソース名 serverを使用)。

注記

このメソッドは実際にブローカーを停止するため、エラーが発生する可能性が高くなります。正確なエラーは、メソッドの呼び出しに使用した管理サービスによって異なります。