[UNIX、Linux、Windows、IBM i]

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

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

このタスクについて

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

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

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

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

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

手順

  • 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]プリエンプティブ・シャットダウンが機能しない場合は、代わりに手動でキュー・マネージャーを停止してみてください。
    • 自動クライアント再接続を要求するには、endmqm コマンドを入力して -r パラメーターを指定します。このパラメーターには、クライアントがキュー・マネージャー・グループ内の他のキュー・マネージャーへの接続を再確立する効果があります。
      注: デフォルトの endmqm コマンドを使用してキュー・マネージャーを終了しても、クライアントの自動再接続はトリガーされません。
    • 複数インスタンス・キュー・マネージャーのアクティブ・インスタンスをシャットダウンした後にスタンバイ・インスタンスに移行するには、複数インスタンス・キュー・マネージャーのアクティブ・インスタンスで endmqm コマンドを入力して -s パラメーターを指定します。
    • 複数インスタンス・キュー・マネージャーのスタンバイ・インスタンスを終了して、アクティブ・インスタンスの実行を続けるには、複数インスタンス・キュー・マネージャーのスタンバイ・インスタンスで endmqm コマンドを入力して -x パラメーターを指定します。
  • [Windows][Linux] Windows および LinuxIBM MQ エクスプローラーを使用してキュー・マネージャーを停止するには、以下の手順を実行します。
    1. IBM MQ エクスプローラー を開きます。
    2. ナビゲーター・ビューからキュー・マネージャーを選択します。
    3. 「停止」をクリックします。
      キュー・マネージャーの終了」パネルが表示されます。
    4. 「制御」または「即時」を選択します。
    5. 「OK」をクリックします。
      キュー・マネージャーが停止します。