Windowsでのサービス登録方法
公式ページを参考にしてもどうにも動かないので、ちょっと頑張りが必要でした。
公式ページ →
Daemon: Procrun
jarの作成
前回作成したJavaをJarにします。
ここでは面倒なので、Eclipseのエクスポート機能を使います。
成果物:EngineLauncher.jar
場所
とりあず、C:\tmp\test-serviceを作ります。
で、libフォルダにcommons-daemon-1.0.10.jar、commons-logging-1.1.1.jar、log4j-1.2.16.jarを入れ
logsフォルダも作っておきます。
あと、commons-daemon-1.0.10-bin-windows.zipをダウンロードしてあるはずなので、
その中にあるprunsrv.exeもC:\tmp\test-serviceに入れておきます。
C:\tmp\test-service
│ EngineLauncher.jar
│ install.bat
│ prunsrv.exe
│ uninstall.bat
│
├─lib
│ commons-daemon-1.0.10.jar
│ commons-logging-1.1.1.jar
│ log4j-1.2.16.jar
│
└─logs
commons-daemon.2012-04-04.log
testservice-stderr.2012-04-04.log
testservice-stdout.2012-04-04.log
サービスへの登録バッチ
--Jvmオプションでjvm.dllの場所を指定するのですが、autoでうまく動かず、直接指定しました。autoのはずだと思うのですが…
サービスへの削除バッチ
手順
install.batを実行すると、サービスに登録され、管理ツールからサービスを開いて、"Test Service"を開始すればサービスが始まります。
停止すれば止まります。
アンインストールは、uninstall.batです。
--Startup=autoだけど、install.batを実行しても開始されません...
追加で
commons-logging.properties
log4j.xmlはこんなかんじ。/var/log/daemon/application.logにログ出力します。