2.2. Apache Karaf の停止

コンソール内からまたは stop スクリプトを使用して、Apache Karaf のインスタンスを停止できます。

2.2.1. ローカルコンソールからのインスタンス停止

fuse または fuse client を実行して Karaf インスタンスを起動した場合、karaf> プロンプトで以下のいずれかを実行して停止できます。

  • shutdown を入力します。
  • Ctrl+D を押します。

2.2.2. サーバーモードで実行されているインスタンスの停止

以下のように InstallDir/bin ディレクトリーから stop(.bat) を呼び出すことで、ローカルに実行中の Karaf インスタンス (root コンテナー) を停止できます。

Windows

bin\stop.bat

Linux/UNIX

./bin/stop

Karaf stop スクリプトによって呼び出されるシャットダウンメカニズムは、Apache Tomcat に実装されたシャットダウンメカニズムと似ています。Karaf サーバーは、シャットダウン通知の受信に専用のシャットダウンポート (SSH ポートとは異なる) を開きます。デフォルトでは、シャットダウンポートはランダムに選択されますが、必要に応じて特定のポートを使用するように設定できます。

必要に応じて、InstallDir/etc/config.properties ファイルに以下のプロパティーを設定して、シャットダウンポートをカスタマイズできます。

karaf.shutdown.port

シャットダウンポートとして使用する TCP ポートを指定します。このプロパティーを -1 に設定すると、ポートが無効になります。デフォルトは 0 (ランダムポート用) です。

注記

bin/stop スクリプトを使用してリモートホストで実行している Karaf サーバーをシャットダウンする場合は、このプロパティーをリモートホストのシャットダウンポートと同じに設定する必要があります。ただし、この設定が etc/config.properties ファイルと同じホストにある Karaf サーバーにも影響を与えることに注意してください。

karaf.shutdown.host

シャットダウンポートがバインドされているホスト名を指定します。この設定は、マルチホームホストで役立つ可能性があります。デフォルトは localhost です。

注記

bin/stop スクリプトを使用してリモートホストで実行している Karaf サーバーをシャットダウンする場合は、このプロパティーをリモートホストのホスト名 (または IP アドレス) に設定する必要があります。ただし、この設定が etc/config.properties ファイルと同じホストにある Karaf サーバーにも影響を与えることに注意してください。

karaf.shutdown.port.file
Karaf インスタンスが起動すると、現在のシャットダウンポートがこのプロパティーで指定されたファイルに書き込まれます。stop スクリプトは、このプロパティーで指定されたファイルを読み取り、現在のシャットダウンポートの値を検出します。デフォルトは ${karaf.data}/port です。
karaf.shutdown.command

シャットダウンのトリガーにシャットダウンポートに送信する必要がある UUID 値を指定します。これにより、UUID 値が公開されていない限り、基本レベルのセキュリティーが提供されます。たとえば、この値が通常のユーザーによって読み取られないように、etc/config.properties ファイルの読み取りを保護することができます。

Apache Karaf を初めて起動すると、ランダムな UUID 値が自動的に生成され、この設定が etc/config.properties ファイルの最後に書き込まれます。または、karaf.shutdown.command がすでに設定されている場合は、Karaf サーバーは既存の UUID 値を使用します (これにより、必要に応じて UUID 設定をカスタマイズできます)。

注記

bin/stop スクリプトを使用してリモートホストで実行している Karaf サーバーをシャットダウンする場合は、このプロパティーをリモートホストの karaf.shutdown.command の値と同じに設定する必要があります。ただし、この設定が etc/config.properties ファイルと同じホストにある Karaf サーバーにも影響を与えることに注意してください。

2.2.3. リモートインスタンスの停止

「リモートコンテナーの停止」 で説明されているように、リモートホストで実行されているコンテナーインスタンスを停止できます。