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