付録E.1 Windowsサービス化したシステムを起動する
Windowsサービスとしてシステムを起動するためには,外部のツールによるサービス化が必要です。システムの起動方法は,実行可能JAR/WAR形式の場合またはWARデプロイ形式の場合に分けて説明します。
- 〈この項の構成〉
(1) 実行可能JAR/WAR形式の場合
WinSW(Windows Service Wrapper)を使用して,プロセスモニタ適用後の実行可能JAR/WARをWindowsサービスとして登録できます。
- 重要
-
ここでは,WinSW v2.12.0の動作を基に説明します。WinSW v3.xなど,ほかのバージョンを使用する場合は,WinSWのドキュメントを参照してください。
Windowsサービスとして登録する手順を次に示します。詳細な手順は,WinSWのドキュメントを参照してください。
-
WinSW.exeをダウンロードする。
-
ダウンロードしたWinSW.exeを<サービスID>.exeにリネームする。
-
<サービスID>.xmlを作成し,必要な設定を記述する。
-
<サービスID>.exeと<サービスID>.xmlを同じディレクトリに配置する。
-
<サービスID>.exe installを実行する。
WinSWの設定ファイルである<サービスID>.xmlのservice要素に,次の表に示す子要素を設定します。各要素の詳細な仕様は,WinSWのドキュメントを参照してください。
|
serviceの子要素 |
子要素の説明 |
省略の可否 |
|
id |
WindowsのサービスIDとして使用する文字列を指定します。サービスIDとして指定可能な値(すべて英数字)を指定してください。 |
指定は必須です。 |
|
name |
Windowsのサービス名として使用する,任意の文字列を指定します。 |
指定は必須です。要素値を省略(空文字を指定)した場合は,要素値の代わりにサービスIDが使用されます。 |
|
description |
Windowsのサービスの説明を指定します。 |
省略が可能です。 |
|
executable |
<本製品のインストールディレクトリ>\bin\starter.batを指定します。 |
指定は必須です。 |
|
arguments |
起動コマンドの引数を指定します。詳細は,「20.1.10 プロセスモニタの起動スクリプト」を参照してください。 |
指定は必須です。 |
|
workingdirectory |
起動コマンドの実行ディレクトリを指定します。 |
省略が可能です。省略した場合は,<サービスID>.exeを配置したディレクトリになります。 |
|
env |
name="<環境変数名>" value="<値>"で環境変数を指定します。 |
省略が可能です。ただし,次のどれにも該当しない場合は,name="JAVA_HOME" value="<JDKのインストールディレクトリ>"を指定してください。
|
|
logpath |
標準出力と標準エラー出力のログファイル出力先ディレクトリを指定します。<common.base設定値>を指定することを推奨します。 |
省略が可能です。省略した場合は,<サービスID>.xmlを配置したディレクトリになります。 |
|
log |
mode="<ログモード>"で標準出力と標準エラー出力のログファイル形式を指定します。指定できる値の詳細はWinSWのドキュメントの「Logging and error reporting」を参照してください。指定できる値の一部を次に記載します。
|
省略が可能です。省略した場合は,mode="append"になります。 |
<サービスID>.xmlの設定例を次に示します。
<service>
<id>ucar-execjar</id>
<name>uCARS Spring Boot Application</name>
<description>Spring Boot application as a service with uCosminexus Application Runtime applied.</description>
<executable>C:\Program Files\Hitachi\ucars\bin\starter.bat</executable>
<arguments>"C:\Program Files\Hitachi\ucars\jdk\bin\java.exe" -jar C:\work\sample-app.war</arguments>
<workingdirectory>C:\work</workingdirectory>
<logpath>C:\work\hitachi_ucar_28081\logs</logpath>
<log mode="roll" />
</service>
WinSWを使用する場合,デフォルトでは標準出力・標準エラー出力が"append"(追記モード)でファイルに出力されます。スナップショット取得時にスレッドダンプが標準出力に出力される場合があります。ログファイルの肥大化を防ぐために,ログローテーションを設定することを推奨します。設定の詳細はWinSWのドキュメントの「Logging and error reporting」を参照してください。
(2) WARデプロイ形式の場合
本製品を組み込んだ状態では,Tomcatが提供するWindowsサービスの起動方法は使用できません。WinSW(Windows Service Wrapper)を使用して,プロセスモニタ適用後のTomcatをWindowsサービスとして登録できます。
- 重要
-
-
Tomcatのservice.batを使用した登録方法はサポートしていません。
-
ここでは,WinSW v2.12.0の動作を基に記載しています。WinSW v3.xなど,ほかのバージョンを使用する場合は,WinSWのドキュメントを参照してください。
-
Windowsサービスとして登録する手順を次に示します。詳細な手順は,WinSWのドキュメントを参照してください。
-
WinSW.exeをダウンロードする。
-
ダウンロードしたWinSW.exeを<サービスID>.exeにリネームする。
-
<サービスID>.xmlを作成し,必要な設定を記述する。
-
<サービスID>.exeと<サービスID>.xmlを同じディレクトリに配置する。
-
<サービスID>.exe installを実行する。
WinSWの設定ファイルである<サービスID>.xmlのservice要素に,次の表に示す子要素を設定します。各要素の詳細な仕様は,WinSWのドキュメントを参照してください。
|
serviceの子要素 |
子要素の説明 |
省略の可否 |
|
id |
WindowsのサービスIDとして使用する文字列を指定します。サービスIDとして指定可能な値(すべて英数字)を指定してください。 |
指定は必須です。 |
|
name |
Windowsのサービス名として使用する,任意の文字列を指定します。 |
指定は必須です。要素値を省略(空文字を指定)した場合は,要素値の代わりにサービスIDが使用されます。 |
|
description |
Windowsのサービスの説明を指定します。 |
省略が可能です。 |
|
executable |
<Tomcatのインストール先パス>\bin\catalina.batを指定します。 |
指定は必須です。 |
|
arguments |
runを指定してください。 |
指定は必須です。 |
|
workingdirectory |
<Tomcatのインストール先パス>\binを指定してください。 |
指定は必須です。ただし,次のどちらかの条件を満たす場合は省略が可能です。
|
|
env |
name="<環境変数名>" value="<値>"で環境変数を指定します。 |
省略が可能です。ただし,「20.2.2 プロセスモニタ機能の適用方法」でsetenv.batのJRE_HOMEを省略していて,かつ,システム環境変数ではなくユーザー環境変数でJAVA_HOME,またはJRE_HOMEを指定している場合は,name="JAVA_HOME",またはname="JRE_HOME"のどちらか1つ以上にvalue="<JDKのインストールディレクトリ>"を指定してください。 |
|
logpath |
標準出力と標準エラー出力のログファイル出力先ディレクトリを指定します。<common.base設定値>を指定することを推奨します。 |
省略が可能です。省略した場合は,<サービスID>.xmlを配置したディレクトリになります。 |
|
log |
mode="<ログモード>"で標準出力と標準エラー出力のログファイル形式を指定します。指定できる値の詳細はWinSWのドキュメントの「Logging and error reporting」を参照してください。指定できる値の一部を次に記載します。
|
省略が可能です。省略した場合は,mode="append"になります。 |
<サービスID>.xmlの設定例を次に示します。
<service> <id>ucar-tomcat</id> <name>uCARS Tomcat</name> <description>Tomcat with uCosminexus Application Runtime applied.</description> <executable>C:\apache-tomcat-10.1.39\bin\catalina.bat</executable> <arguments>run</arguments> <workingdirectory>C:\apache-tomcat-10.1.39\bin</workingdirectory> <logpath>C:\apache-tomcat-10.1.39\logs</logpath> <log mode="roll" /> </service>
WinSWを使用する場合,デフォルトでは標準出力・標準エラー出力が"append"(追記モード)でファイルに出力されます。スナップショット取得時にスレッドダンプが標準出力に出力される場合があります。ログファイルの肥大化を防ぐために,ログローテーションを設定することを推奨します。設定の詳細はWinSWのドキュメントの「Logging and error reporting」を参照してください。