3.2. ブローカーインスタンスの停止
ブローカーインスタンスを手動で停止するか、ブローカーを正常にシャットダウンするように設定します。
3.2.1. ブローカーインスタンスの停止 リンクのコピーリンクがクリップボードにコピーされました!
スタンドアロンブローカーを作成し、テストメッセージを生成および消費した後、ブローカーインスタンスを停止できます。
この手順では、ブローカーを手動で停止し、クライアント接続をすべて強制的に閉じます。実稼働環境では、クライアント接続を適切に閉じるようにブローカーを正常に停止するようにブローカーを設定する必要があります。
手順
artemis stopコマンドを使用してブローカーインスタンスを停止します。/var/opt/amq-broker/mybroker/bin/artemis stop
$ /var/opt/amq-broker/mybroker/bin/artemis stop 2018-12-03 14:37:30,630 INFO [org.apache.activemq.artemis.core.server] AMQ221002: Apache ActiveMQ Artemis Message Broker version 2.6.1.amq-720004-redhat-1 [b6c244ef-f1cb-11e8-a2d7-0800271b03bd] stopped, uptime 35 minutes Server stopped!Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.2. ブローカーインスタンスの正常な停止 リンクのコピーリンクがクリップボードにコピーされました!
手動シャットダウンは、stop コマンドを入力すると、すべてのクライアントを強制的に切断します。別の方法として、graceful-shutdown-enabled 設定要素を使用して、ブローカーが正常にシャットダウンするように設定します。
graceful-shutdown-enabled が true に設定されている場合、stop コマンドが入力された後、新しいクライアントの接続は許可されません。ただし、シャットダウンプロセスを開始する前に、既存の接続はクライアント側で閉じることができます。graceful-shutdown-enabled のデフォルト値は false です。
graceful-shutdown-timeout 設定要素を使用して、接続がブローカー側から強制的に閉じられる前にクライアントが切断する時間の長さをミリ秒単位で設定します。すべての接続が閉じられると、シャットダウンプロセスが開始します。graceful-shutdown-timeout を使用する利点の 1 つは、クライアントの接続によるシャットダウンの遅延を防ぐことができることです。graceful-shutdown-timeout のデフォルト値は -1 で、これは、クライアントが切断するまでブローカーが無期限に待機することを意味します。
以下の手順は、タイムアウトを使用する正常なシャットダウンを設定する方法を示しています。
手順
-
<broker_instance_dir>\etc\broker.xml設定ファイルを開きます。 graceful-shutdown-enabled設定要素を追加し、値をtrueに設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow graceful-shutdown-timeout設定要素を追加し、タイムアウトの値をミリ秒単位で設定します。以下の例では、stopコマンドが実行されてから 30 秒 (30000ミリ秒) 後に、クライアント接続が強制的に閉じられます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow