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