Hitachi

uCosminexus Application Runtime for Spring Boot ユーザーズガイド


付録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のドキュメントを参照してください。

  1. WinSW.exeをダウンロードする。

  2. ダウンロードしたWinSW.exe<サービスID>.exeにリネームする。

  3. <サービスID>.xmlを作成し,必要な設定を記述する。

  4. <サービスID>.exe<サービスID>.xmlを同じディレクトリに配置する。

  5. <サービスID>.exe installを実行する。

WinSWの設定ファイルである<サービスID>.xmlservice要素に,次の表に示す子要素を設定します。各要素の詳細な仕様は,WinSWのドキュメントを参照してください。

表E‒1 serviceの子要素に必要な設定項目

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のインストールディレクトリ>"を指定してください。

  • argumentsの<Javaパス>を指定している。

  • 日立JavaVMを使用している。

  • ユーザー環境変数ではなくシステム環境変数でJAVA_HOMEを指定している。

  • ユーザー環境変数ではなく,システム環境変数のPATHに,javaが存在するディレクトリを追加している。

logpath

標準出力と標準エラー出力のログファイル出力先ディレクトリを指定します。<common.base設定値>を指定することを推奨します。

省略が可能です。省略した場合は,<サービスID>.xmlを配置したディレクトリになります。

log

mode="<ログモード>"で標準出力と標準エラー出力のログファイル形式を指定します。指定できる値の詳細はWinSWのドキュメント「Logging and error reporting」を参照してください。指定できる値の一部を次に記載します。

  • append:1つのファイルにログを追記します。

  • reset:サービス開始ごとに古いファイルを破棄して,新しいファイルを出力します。

  • roll:サービス開始ごとに古いファイルを*.oldに退避して新しいファイルに出力します。

  • roll-by-size:子要素で指定したサイズと面数でローテーションします。

  • roll-by-time:子要素で指定した時刻でローテーションします。

省略が可能です。省略した場合は,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のドキュメントを参照してください。

  1. WinSW.exeをダウンロードする。

  2. ダウンロードしたWinSW.exe<サービスID>.exeにリネームする。

  3. <サービスID>.xmlを作成し,必要な設定を記述する。

  4. <サービスID>.exe<サービスID>.xmlを同じディレクトリに配置する。

  5. <サービスID>.exe installを実行する。

WinSWの設定ファイルである<サービスID>.xmlservice要素に,次の表に示す子要素を設定します。各要素の詳細な仕様は,WinSWのドキュメントを参照してください。

表E‒2 serviceの子要素に必要な設定項目

serviceの子要素

子要素の説明

省略の可否

id

WindowsのサービスIDとして使用する文字列を指定します。サービスIDとして指定可能な値(すべて英数字)を指定してください

指定は必須です。

name

Windowsのサービス名として使用する,任意の文字列を指定します。

定は必須です。要素値を省略(空文字を指定)した場合は,要素値の代わりにサービスIDが使用されます。

description

Windowsのサービスの説明を指定します。

省略が可能です。

executable

<Tomcatのインストール先パス>\bin\catalina.batを指定します

指定は必須です。

arguments

runを指定してください。

指定は必須です。

workingdirectory

<Tomcatのインストール先パス>\binを指定してください。

指定は必須です。ただし,次のどちらかの条件を満たす場合は省略が可能です。

  • システム環境変数でCATALINA_HOMEを指定している。

  • env要素でCATALINA_HOMEを指定する。

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」を参照してください。指定できる値の一部を次に記載します。

  • append:1つのファイルにログを追記します。

  • reset:サービス開始ごとに古いファイルを破棄して,新しいファイルを出力します。

  • roll:サービス開始ごとに古いファイルを*.oldに退避して新しいファイルに出力します。

  • roll-by-size:子要素で指定したサイズと面数でローテーションします。

  • roll-by-time:子要素で指定した時刻でローテーションします。

省略が可能です。省略した場合は,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」を参照してください。