[UNIX、Linux、Windows、IBM i]

キュー・マネージャーの停止

endmqm コマンドを使用して、キュー・マネージャーを停止できます。 このコマンドでは、制御または静止状態でのシャットダウン、即時シャットダウン、およびプリエンプティブ・シャットダウンの 3 つの方法でキュー・マネージャーを停止できます。 あるいは、 Windows および Linux®では、 IBM® MQ Explorerを使用してキュー・マネージャーを停止することができます。

本タスクについて

endmqm コマンドで単一インスタンス・キュー・マネージャーを停止する方法は 3 つあります。
制御 (静止) 状態でのシャットダウン
デフォルトでは、endmqm コマンドが指定されたキュー・マネージャーの静的シャットダウンを実行します。 静止状態でのシャットダウンは、接続されたアプリケーションすべてが切断されるまで待機するため、完了するまで時間がかかる場合があります。
即時シャットダウン
即時シャットダウンの場合、現在の MQI 呼び出しを完了することはできますが、新しい呼び出しは失敗します。 このタイプのシャットダウンは、アプリケーションがキュー・マネージャーに接続中でも実行されます。
プリエンプティブ・シャットダウン
キュー・マネージャーは即時に停止します。 このタイプのシャットダウンは、例外的な状況でのみ使用します。例えば、キュー・マネージャーが通常の endmqm コマンドで停止しない場合などです。

endmqm コマンドは、 単一インスタンスのキュー・マネージャーを停止する場合と同じ方法で、 複数インスタンス・キュー・マネージャーのすべてのインスタンスを停止します。 endmqm は、 アクティブ・インスタンス、または複数インスタンス・キュー・マネージャーの 1 つのスタンバイ・インスタンスのいずれかで発行できます。 ただし、キュー・マネージャーを終了するには、アクティブ・インスタンスで endmqm を実行する必要があります。

endmqm コマンドとそのオプションについて詳しくは、 endmqmを参照してください。

ヒント: キュー・マネージャーのシャットダウンの問題は、多くの場合、アプリケーションが原因で発生します。 例えば、次のような場合です。
  • アプリケーションが MQI 戻りコードを正しく検査しない場合
  • アプリケーションが静止の通知を要求しない場合
  • アプリケーションが (MQDISC 呼び出しを出して)、キュー・マネージャーからの切断を行わずに終了する場合
キュー・マネージャーの停止中に問題が発生した場合は、Ctrl-C を使用して endmqm コマンドを中断してください。 その後、別の endmqm コマンドを発行できますが、この場合は、必要なタイプのシャットダウンを指定するパラメーターを付加します。

[Windows][Linux] endmqm コマンドを使用する代わりに、 Windows および Linuxでは、 IBM MQ Explorer を使用して制御シャットダウンまたは即時シャットダウンを実行することにより、キュー・マネージャーを停止できます。

手順

  • endmqm コマンドを使用してキュー・マネージャーを停止するには、コマンドに続けてパラメーター (必要な場合)、および停止するキュー・マネージャーの名前を入力します。
    注: endmqm コマンドは、作業対象のキュー・マネージャーに関連付けられたインストール済み環境から使用する必要があります。 キュー・マネージャーがどのインストール済み環境に関連付けられているかを調べるには、コマンド dspmq -o installationを使用します。
    • 制御 (静止) 状態でのシャットダウンを実行するには、以下の例に示すように endmqm コマンドを入力します。これにより、QMB というキュー・マネージャーが停止します。
      
      endmqm QMB
      
      あるいは、以下の例に示すように、 -c パラメーターを指定して endmqm コマンドを入力することは、 endmqm QMB コマンドと同等です。
      endmqm -c QMB
      どちらの場合も、制御は即時にユーザーに戻り、キュー・マネージャーが停止した時点は通知されません。 すべてのアプリケーションが停止してキュー・マネージャーが終了するまでコマンドを待機してから制御をユーザーに戻す場合は、以下の例に示すように、代わりに -w パラメーターを使用します。
      
      endmqm -w QMB
      
    • 即時シャットダウンを実行するには、以下の例に示すように、 -i パラメーターを指定して endmqm コマンドを入力します。
      
      endmqm -i QMB
      
    • プリエンプティブ・シャットダウンを実行するには、以下の例に示すように、 -p パラメーターを指定して endmqm コマンドを入力します。
      
      endmqm -p QMB
      
      重要: プリエンプティブ・シャットダウンは、接続されたアプリケーションに予測不能な結果をもたらす可能性があります。 このオプションは、通常の endmqm コマンドを使用したキュー・マネージャーを停止する他の試みがすべてした場合を除いて使用しないでください。 [UNIX、Linux、Windows]プリエンプティブ・シャットダウンが機能しない場合は、代わりに キュー・マネージャーを手動で停止 してみてください。
    • 自動クライアント再接続を要求するには、 -r パラメーターを指定して endmqm コマンドを入力します。 このパラメーターには、クライアントがキュー・マネージャー・グループ内の他のキュー・マネージャーへの接続を再確立する効果があります。
      注: デフォルトの endmqm コマンドを使用してキュー・マネージャーを終了しても、クライアントの自動再接続はトリガーされません。
    • 複数インスタンス・キュー・マネージャーのアクティブ・インスタンスをシャットダウンした後にスタンバイ・インスタンスに移行するには、複数インスタンス・キュー・マネージャーのアクティブ・インスタンスで endmqm コマンドを入力して -s パラメーターを指定します。
    • 複数インスタンス・キュー・マネージャーのスタンバイ・インスタンスを終了して、アクティブ・インスタンスの実行を続けるには、複数インスタンス・キュー・マネージャーのスタンバイ・インスタンスで endmqm コマンドを入力して -x パラメーターを指定します。
  • [Windows][Linux] Windows および Linuxでは、 IBM MQ Explorerを使用してキュー・マネージャーを停止するには、以下の手順を実行します。
    1. IBM MQ Explorerを開きます。
    2. ナビゲーター・ビューからキュー・マネージャーを選択します。
    3. 「停止」をクリックします。
      キュー・マネージャーの終了」パネルが表示されます。
    4. 「制御 (Controlled)」または 「即時 (Immediate)」を選択します。
    5. 「OK」をクリックします。
      キュー・マネージャーが停止します。