Menu Close

第2章 Apache Karaf の起動および停止

概要

Apache Karaf は、サーバーを起動および停止するためのシンプルなコマンドラインツールを提供します。

2.1. Apache Karaf の起動

Apache Karaf ランタイムをデプロイするデフォルトの方法は、アクティブなコンソールでスタンドアロンサーバーとしてデプロイすることです。コンソールなしでランタイムをバックグラウンドプロセスとしてデプロイすることもできます。

2.1.1. 環境の設定

環境を変更せずに、インストールの bin サブディレクトリーから直接 Karaf ランタイムを起動できます。しかし、別のフォルダーで起動する場合は、以下のように Karaf インストールの bin ディレクトリーを PATH 環境変数に追加する必要があります。

Windows

set PATH=%PATH%;InstallDir\bin

Linux/UNIX

export PATH=$PATH,InstallDir/bin`

2.1.2. コンソールモードでのランタイムの起動

インストールディレクトリーから Karaf ランタイムを起動する場合は、以下のコマンドを使用します。

Windows

bin\fuse.bat

Linux/UNIX

./bin/fuse

Karaf が正常に起動すると、コンソールに以下が表示されます。

Red Hat Fuse starting up. Press Enter to open the shell now...
100% [========================================================================]

Karaf started in 8s. Bundle stats: 220 active, 220 total

 ____          _   _   _       _     _____
|  _ \ ___  __| | | | | | __ _| |_  |  ___|   _ ___  ___
| |_) / _ \/ _` | | |_| |/ _` | __| | |_ | | | / __|/ _ \
|  _ <  __/ (_| | |  _  | (_| | |_  |  _|| |_| \__ \  __/
|_| \_\___|\__,_| |_| |_|\__,_|\__| |_|   \__,_|___/___|

  Fuse (7.x.x.fuse-xxxxxx-redhat-xxxxx)
  http://www.redhat.com/products/jbossenterprisemiddleware/fuse/

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.

Open a browser to http://localhost:8181/hawtio to access the management console

Hit '<ctrl-d>' or 'shutdown' to shutdown Red Hat Fuse.

karaf@root()>
注記

バージョン Fuse 6.2.1 以降、コンソールモードで起動すると、2 つのプロセスが作成されます。それらは、Karaf コンソールを実行している親プロセス ./bin/karaf と、java JVM で Karaf サーバーを実行している子プロセスです。ただし、シャットダウンの動作は以前と同じです。つまり、両方のプロセスを強制終了する Ctrl-D または osgi:shutdown のいずれかを使用して、コンソールからサーバーをシャットダウンできます。

2.1.3. サーバーモードでのランタイムの起動

サーバーモードで起動すると、ローカルコンソールなしでバックグラウンドで ApacheKaraf が実行されます。次に、リモートコンソールを使用して実行中のインスタンスに接続します。詳細は 「リモートでの接続と切断」 を参照してください。

サーバーモードで Karaf を起動するには、以下を実行します。

Windows

bin\start.bat

Linux/UNIX

./bin/start

2.1.4. クライアントモードでのランタイムの起動

実稼働環境では、ローカルコンソールのみを使用してランタイムインスタンスにアクセスする必要がある場合があります。つまり、SSH コンソールポートを介してランタイムにリモートで接続することはできません。これを行うには、次のコマンドを使用して、クライアントモードでランタイムを起動します。

Windows

bin\fuse.bat client

Linux/UNIX

./bin/fuse client
注記

クライアントモードで起動すると、SSH コンソールポート (通常はポート 8101) のみが抑制されます。他の Karaf サーバーポート (JMX 管理 RMI ポートなど) は通常通りに開かれます。

2.1.5. デバッグモードでの Fuse の実行

Fuse をデバッグモードで実行すると、エラーをより効率的に識別して解決するのに役立ちます。このオプションはデフォルトで無効になっています。有効にすると、Fuse はポート 5005 で JDWP ソケットを起動します。

デバッグモードで Fuse を実行する方法は 3 つあります。

2.1.5.1. Karaf 環境変数の使用

このアプローチにより、KARAF_DEBUG 環境変数 (=1) が有効になり、次にコンテナーを起動します。

$ export KARAF_DEBUG=1
$ bin/start

2.1.5.2. fuse debug の実行

このアプローチでは、suspend オプションが n (no) に設定されている debug を実行します。

$ bin/fuse debug

2.1.5.3. fuse debugs の実行

このアプローチでは、suspend オプションが y (yes) に設定されている debugs を実行します。

注記

suspend を yes に設定すると、JVM は main() の実行直前に一時停止し、デバッガーがアタッチされると実行を再開します。

$ bin/fuse debugs