背景
WindowsサーバへのPentaho BIサーバのサービス化でちょっとだけハマったのでメモとして。
まず発見したのが以下のサイト
http://i7-papion.blog.so-net.ne.jp/2012-03-28
上記のやり方では、web.xmlを編集して相対パスを絶対パスに変更する必要があるため、できればやりたくない、と思い更に調査。
ちゃんと公式Wikiにあった。
http://wiki.pentaho.com/display/ServerDoc2x/Starting+BI+Server+as+a+windows+service
(ご丁寧に、web.xmlを編集しなくてもこの方法ならいけるよと書いてあった)
手順
コマンドプロンプトにて、以下のコマンドを実行
C:\pentaho_path\tomcat\bin>service.bat install
## 以下の様な出力が出ればOK
Installing the service 'Tomcat8' ...
Using CATALINA_HOME: "C:\pentaho_path\tomcat"
Using CATALINA_BASE: "C:\pentaho_path\tomcat"
Using JAVA_HOME: "C:\Program Files\Java\jdk1.8.0_77"
Using JRE_HOME: "C:\Program Files\Java\jdk1.8.0_77\jre"
Using JVM: "C:\Program Files\Java\jdk1.8.0_77\jre\bin\server\jvm.dll"
The service 'Tomcat8' has been installed.
既定のサービス化設定では正常に起動できないため、設定を変更するため以下のexeを実行
C:\pentaho_path\tomcat\bin\tomcat8w.exe
Startupタグ、Shutdownタグにて、Working Pathの末尾に\binを追加
あとは任意でサービスのスタートアップを自動にしたり、上記公式Wikiに記載してあるようにポートの変更をすれば完了。
未解決の問題
Pentahoのサービスを停止すると、Windowsサービスの既定のタイムアウト時間を超過してしまうようで、タイムアウトエラーが発生する。
サービス停止処理自体は実行されているので、待っていれば停止するが、長い時は10分程度かかっている模様。ローカル環境依存の問題なのかは現状は不明。