World Map
Java Service Wrapperは、御社Javaアプリケーション製品の安定した信頼性を高める最短最善の方法です。
  • Free Trial
  • Buy Now
アプリケーションを起動する (Windows)

アプリケーションを起動する (Windows)

スクリプトをセットアップする

Java Service Wrapperを起動するために使われるスクリプトを設定するのは、非常に簡単です。 Wrapperのディレクトリーにある、次の3つのバッチファイルを、 ご利用のアプリケーションの「bin」ディレクトリーにコピーしてください。

{WRAPPER_HOME}\src\bin\App.bat.in
{WRAPPER_HOME}\src\bin\InstallApp-NT.bat.in
{WRAPPER_HOME}\src\bin\UninstallApp-NT.bat.in

ここの説明では、「MyApp」をご利用のアプリケーション名で置き換えて解釈してください。

以下のように、アプリケーション名を反映して、3つのバッチファイル名を変更します。 拡張子「.in」を外して、 ファイルの拡張子が「.bat」で終わるように変更してください。

なお、ご利用のコンピューターの設定状況によっては、拡張子が見えない場合がありますので、 拡張子が表示されるよう事前に設定を変更する必要があるかもしれません。

C:\MyApp\bin\MyApp.bat
C:\MyApp\bin\InstallMyApp-NT.bat
C:\MyApp\bin\UninstallMyApp-NT.bat

3つのバッチファイルは、コンソールでアプリケーションを動かすために使われ、 Windowsサービスの1つとしてアプリケーションをインストールやアンインストールしたりすることができます。

これらのバッチファイルは、何も設定変更を必要としませんが、 Wrapperの実行ファイル「wrapper.exe」が、同じディレクトリーにあり、 かつ、「wrapper.conf」ファイルが 「conf」ディレクトリーにあるという前提で進めていきます。 もし、これらのファイルを他の場所に設置したい場合には、 この3つのバッチファイルの設定を適切に変更する必要があります。

コンソール内で動かす

アプリケーションを起動する:

コンソール(コマンド・ウィンドウ)で、アプリケーションを起動させるには、ファイル・エクスプローラーを開き、 「MyApp.bat」バッチファイルをダブルクリックで実行します。 あるいは、コマンド・ウィンドウを開いて、コマンド・プロンプトから、そのバッチファイルを実行してください。 Wrapperがカレント・ディレクトリーを設定してくれるお陰で、 「bin」ディレクトリー内部から、このバッチファイルを実行する必要はありません。

C:\MyApp\bin>MyApp.bat
wrapper  | --> Wrapper Started as Console
wrapper  | Launching a JVM...
jvm 1    | Wrapper (Version 3.x.x)
jvm 1    |

アプリケーションを終了する:

アプリケーションを終了するには、 コンソールコンソール(コマンド・ウィンドウ)から[CTRL]+[C]のキー操作で、アプリケーション任意停止します。 これで、アプリケーションはキレイにシャットダウンされます。

アプリケーションをWindowsサービスの1つとして動かす

作業に入る前に、 「wrapper.conf」ファイルのプロパティ設定で、 Windowsコンフィギュレーション・プロパティが 全て設定済みであることを確認してください。 また、コンソール・モードで正しくアプリケーションが動作していることを検証してください。

Windowsサービスの1つとしてインストール:

InstallMyApp-NT.bat」バッチファイルをダブルクリックして実行する、 あるいは、コマンド・ウィンドウを開いて、コマンド・プロンプトから、 その「InstallMyApp-NT.bat」バッチファイルを実行することで、 アプリケーションをWindowsサービスの1つとしてインストールすることができます。

もし、正しくインストールできなかった場合、そのインストール・バッチファイルは、ただちに終了します。 もし何か問題があった場合、「成功しなかった」というエラーメッセージが表示され、 ユーザーが何かキーを押すまで、応答待ちになります。

C:\MyApp\bin>InstallMyApp-NT.bat
wrapper  | My Application installed.

一旦、サービスがインストールされると、 サービス・コントロール・パネル([コントロール・パネル]→[管理ツール]→[サービス])を開き、 該当するサービスを選び、[開始]をクリックすることで、アプリケーションをスタートすることができます。

コマンド・ウィンドウ内で、 サービスの開始コマンド[net start MyApp]や サービスの停止コマンド[net stop MyApp]を使うか、 あるいは、 wrapper.exe」実行ファイルへコマンドを渡すことで、 サービスを開始したり停止したりすることができます。

C:\MyApp\bin>net start MyApp
The My Application service is starting....
The My Application service was started successfully.
C:\MyApp\bin>net stop MyApp
The My Application service is stopping..
The My Application service was stopped successfully.

もし[wrapper.ntservice.starttype]プロパティが、 「AUTO_START(自動スタート)」に設定されている場合、 マシンが再起動するときには、いつでもサービスがスタートします。

Windowsサービスからアンインストール:

サービスをアンインストールするには、 [UninstallMyApp-NT.bat]バッチファイルを実行してください。

C:\MyApp\bin>UninstallMyApp-NT.bat
wrapper  | Service is running.  Stopping it...
wrapper  | Waiting to stop...
wrapper  | My Application stopped.
wrapper  | My Application removed.

直接「wrapper.exe」ファイルを使う

Java Service Wrapperから提供されているスクリプトを使う代わりに、 直接、Wrapperを起動することを選ぶこともできます。 もし、何もパラメーターがない状態で 「wrapper.exe」ファイルを実行すると、 以下のように、使い方の出力が表示されます。

C:\MyApp\bin>wrapper.exe
Wrapper (Version 3.n.n) http://wrapper.tanukisoftware.org

Usage:
  wrapper.exe <command> <configuration file> [configuration properties] [...]
  wrapper.exe <configuration file> [configuration properties] [...]
     (<command> implicitly '-c')
  wrapper.exe <command>
     (<configuration file> implicitly 'wrapper.conf')
  wrapper.exe
     (<command> implicitly '-c' and <configuration file> 'wrapper.conf')

where <command> can be one of:
  -c  --console run as a Console application
  -t  --start   starT an NT service
  -p  --stop    stoP a running NT service
  -i  --install Install as an NT service
  -r  --remove  Remove as an NT service
  -q  --query   Query the current status of the service
  -qs --querysilent Silently Query the current status of the service
  -?  --help    print this help message

<configuration file> is the wrapper.conf to use.  Name must be absolute or relative
  to the location of wrapper.exe

[configuration properties] are configuration name-value pairs which override values
  in wrapper.conf.  For example:
  wrapper.debug=TRUE

コンソール・アプリケーションとしてWrapperを動かすために、 「wrapper.conf」ファイルに続いて、 [-c]コマンドを指定する必要があります。 「wrapper.conf」ファイルの配置場所は、 絶対パスか相対パスで設定することができます。 もし、相対パスが利用されている場合、そのパスは、カレント・ディレクトリーではなく、 常に「wrapper.exe」ファイル場所への相対参照です。

C:\MyApp\bin>wrapper.exe -c ..\conf\wrapper.conf

アプリケーションをWindowsサービスの1つとしてインストールするためには、 以下のコマンドを実行します:

C:\MyApp\bin>wrapper.exe -i ..\conf\wrapper.conf

一旦インストールされると、そのサービスは、他のWindowsサービスと同じようにスタートします。 もし、[wrapper.ntservice.starttype]が 「AUTO_START(自動スタート)」に設定されていた場合、 インストールされたとき、次回のマシン再起動時にサービスがスタートします。 サービス・コントロール・パネルから手動でサービスを開始したり、 あるいは、以下の2つのコマンドを使い、サービスを開始することも可能です:

C:\MyApp\bin>net start MyApp
C:\MyApp\bin>wrapper.exe -t ..\conf\wrapper.conf

注意

開始や停止に長い時間がかかるサービスに、この [net start x]コマンドや [net stop x]コマンドを使うと問題があります。 ほとんどのケースでは、正常に動くはずですが、 万一、サービスを止めるのにが2、3秒以上かかる場合には、停止プロセスの過程中であっても、 [net stop x]コマンドが 「サービスが停止した」という応答を返します。 これでは、手続きの前にサービスが実際に停止するまで、スクリプトが待機しなければならない時に 問題を引き起こすことになります。 サービスの開始や終了にWrapperを使うことで、そのような問題は発生しないことを保証します。

wrapper.conf」 ファイル外部に存在する、インストールされたサービスの実際のサービス名を必要としないため、 Wrapperの手法によるサービスの開始や停止は、スクリプト内でも便利です。 つまり、これで、もしサービス名が変更したとき、複数ファイルを手作業で編集をする必要性を省くことができます。

サービスを停止するには、サービス・コントロール・パネルで操作するか、 あるいは、次のコマンドのどちらかを実行します:

C:\MyApp\bin>net stop MyApp
C:\MyApp\bin>wrapper.exe -p ..\conf\wrapper.conf

アプリケーションをWindowsサービスからアンインストールするには、以下を実行します:

C:\MyApp\bin>wrapper.exe -r ..\conf\wrapper.conf

もし、サービスのアンインストール時に、そのサービスが実行中であっても、 キレイに停止して、サービスからアンインストールされます。

サービス状況の問い合わせ

Wrapperに、手動で、あるいは、バッチファイを使って、サービス状況の問い合わせをすることができます。 これは、現在のサービス状況を知る必要があるスクリプトをインストールする際に便利です。

C:\MyApp\bin>wrapper.exe -q ..\conf\wrapper.conf
wrapper  | The My Application Service is installed.
wrapper  |   Start Type: Automatic
wrapper  |   Interactive: Yes
wrapper  |   Running: No

もし[-q]コマンドで動かすと、Wrapperは現在のステータスをコンソールに表示します。 [-qs]コマンドでは静かに動作します。 Wrapperは、次の終了コードの組み合わせで指定されたとおりに終了します:

1  : Service is installed
2  : Service is running
4  : Service is interactive
8  : Start type is automatic
16 : Start type is manual
32 : Start type is disabled

例えば、終了コード「15」では、『サービスがインストールされ、動作し、インタラクティブであり、 システムの起動時に、自動的にスタートするように設定されている』ということを示しています。 終了コード「0」では、『サービスが現在インストールされていない』という意味を表します。

UNIXスタイルのコマンドベースのスクリプト

Wrapperには、代用のバッチファイルも含まれており、 WrapperのUNIX版で提供されているシェルスクリプトのように、とても良く機能します。 このバッチファイルは、1つのコマンド引数を必要とし、それでバッチファイルへの動作を指示します。 これには、1つのバッチファイルから全てを動かせるというメリットがあります。 しかし、その反面、欠点は、 ファイル・マネージャーから、そのバッチファイルを単純にダブルクリックすることができません。

このバッチファイルを利用するために、 アプリケーションの「bin」ディレクトリーへ、 以下のファイルを単純にコピーしてください。

{WRAPPER_HOME}\src\bin\AppCommand.bat.in

ここの説明では、「MyApp」をご利用のアプリケーション名で置き換えて解釈してください。

以下のように、3つのバッチファイル名を変更します。 拡張子「.in」を外して、 ファイルの拡張子が「.bat」で終わるように変更してください。

なお、ご利用のコンピューターの設定状況によっては、拡張子が見えない場合がありますので、 拡張子が表示されるよう事前に設定を変更する必要があるかもしれません。

C:\MyApp\bin\MyApp.bat

スクリプトに慣れる前なら、何も引数がない状態で、バッチファイルを実行してください。 以下のように見えるでしょう:

C:\MyApp\bin>MyApp.bat
Usage: MyApp.bat { console : start : stop : restart : install : remove }
Press any key to continue . . .

console]コマンドは、 現在のコマンド・ウィンドウで、Wrapperを動かします。 [start]と[stop]コマンドは、 Windowsサービスの1つとしてインストールされているWrapperを開始したり停止したりします。 [restart]コマンドは、 Wrapperを停止してから、即座にWrapperを開始します。 [install]と[remove]コマンドは、 WrapperをWindowsサービスの1つとしてインストールやアンインストールするために利用します。

このバッチファイルと、UNIXスクリプトとでは、少し違いがあります。 UNIXスクリプトでは、コンソールで動作しているWrapperを停止するために使うことができますが、 Windows用のバッチファイルでは不可能です。 さらに加えて、 [dump]コマンドは、Windows用のバッチファイルにはありません。

例として、以下のコマンドを使うことで、コンソール内でWrapperを開始することができます:

C:\MyApp\bin>MyApp.bat console
wrapper  | --> Wrapper Started as Console
wrapper  | Launching a JVM...
jvm 1    | Wrapper (Version 3.x.x)
jvm 1    |

他のコマンドを実行するには、 単純に、[console]を、実行したいコマンドで置き換えてください。