JBossのサービス化について。

サービスの起動ができない件。 - ささくれ、深爪、口内炎。で悶々としつつも何とかやってみた結果を残しておきましょう。
まあ、Wrapperのダウンロードサイトにも懇切丁寧に書いてあるので、必要なさそうですが…
スクリーンショットとか気の効いたものでも取っておければ良かったんですけど、そもそもGUI操作とかがあるでもないので撮る画面自体がないです。コマンドプロンプト程度です。




1. Java Service Wrapperのダウンロード
自分は既にダウンロード済みのものを使用させてもらいました。
たぶんこの辺から落とせます。
Java Service Wrapper - Java Service Wrapperのダウンロード
使用したバージョン→wrapper-windows-x86-32-3.3.5.zip


2. ダウンロードしたzipファイルを適当なフォルダに解凍。
とりあえずの置き場所なので、どこでもOK。
自分の場合は、D:\media\Wrapperとかそういう場所。


3. Java Service Wrapper内の各種ファイルを、JBoss内のフォルダにコピーする。
手動でコピーしても良さそうな気がしたけど、諸々探してみても基本的にコマンドプロンプトでの作業だったのでそれに倣う。
打つコマンドは以下の通り。実行場所はどこでも良いのかな? わたしはチキンなので、Wrapperのzipを展開した場所に移動しておいた。
※一応の前提…Winodwsの環境変数として、JBOSS_HOMEおよびWRAPPER_HOMEを設定しておく。
copy %WRAPPER_HOME%\bin\Wrapper.exe %JBOSS_HOME%\bin\
copy %WRAPPER_HOME%\src\bin\App.bat.in %JBOSS_HOME%\bin\
copy %WRAPPER_HOME%\src\bin\InstallApp-NT.bat.in %JBOSS_HOME%\bin\
copy %WRAPPER_HOME%\src\bin\UninstallApp-NT.bat.in %JBOSS_HOME%\bin\
copy %WRAPPER_HOME%\lib\Wrapper.DLL %JBOSS_HOME%\lib\
copy %WRAPPER_HOME%\lib\wrapper.jar %JBOSS_HOME%\lib\

md JBOSS_HOME\conf   //confフォルダの新規作成

copy %WRAPPER_HOME%\src\conf\wrapper.conf.in %JBOSS_HOME%\conf\


4. コピーした後のファイルの名前を変更する。
.inじゃどうしようもないってのもあるので、ぽろぽろと変更します。
これも手動でも行ける気がしたけど、このままコマンドプロンプトで。例には倣います。
move %JBOSS_HOME%\bin\InstallApp-NT.bat.in %JBOSS_HOME%\bin\InstallJBoss-NT.bat
move %JBOSS_HOME%\bin\UninstallApp-NT.bat.in %JBOSS_HOME%\bin\UninstallJBoss-NT.bat
move %JBOSS_HOME%\conf\wrapper.conf.in %JBOSS_HOME%\conf\wrapper.conf

md %JBOSS_HOME%\logs    //ついでにlog用のフォルダも作る

copy %WRAPPER_HOME%\lib\Wrapper.DLL %JBOSS_HOME%\lib\
これでWrapper内の諸ファイルをJBossに移動完了。


5. Java Service Wrapperの設定
%JBOSS_HOME%\conf\wrapper.confをいじり倒す。
内容は以下の雰囲気で。全部書くのはくどいので、変更箇所をメインに。
#********************************************************************
# Wrapper Java Properties
#********************************************************************
# Java Application
wrapper.java.command=%JAVA_HOME%\bin\java
# Java Classpath (include wrapper.jar)  Add class path elements as
#  needed starting from 1
wrapper.java.classpath.1=%JBOSS_HOME%\lib\wrapper.jar
wrapper.java.classpath.2=%JAVA_HOME%\lib\tools.jar
wrapper.java.classpath.3=%JBOSS_HOME%\bin\run.jar
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=%JBOSS_HOME%\lib

wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
# Java Additional Parameters
wrapper.java.additional.1=-Dprogram.name=run.bat
wrapper.java.additional.2=-server
wrapper.java.additional.3=-Xms256m
wrapper.java.additional.4=-Xmx256m
//↓サービスにしたときにちょこちょこメモリ不足が発生することがあるので、それを防止するためのもの
wrapper.java.additional.5=-XX:MaxPermSize=128m
wrapper.java.additional.6=-XX:+UseParallelOldGC
//JBoss実行時のオプション指定
# Application parameters.  Add parameters as needed starting from 1
wrapper.app.parameter.1=org.jboss.Main
wrapper.app.parameter.2=-b 0.0.0.0
wrapper.app.parameter.3=-c default
#********************************************************************
# Wrapper Windows Properties
#********************************************************************
# Title to use when running as a console
wrapper.console.title=Documentum Java Application Service

#********************************************************************
# Wrapper Windows NT/2000/XP Service Properties
#********************************************************************
# WARNING - Do not modify any of these properties when an application
#  using this configuration file has been installed as a service.
#  Please uninstall the service before modifying this section.  The
#  service can then be reinstalled.

# Name of the service
wrapper.ntservice.name=dctmJavaApp

# Display name of the service
wrapper.ntservice.displayname=Documentum Java Application Service

# Description of the service
wrapper.ntservice.description=Documentum Java Application Service

# Service dependencies.  Add dependencies as needed starting from 1
wrapper.ntservice.dependency.1=

# Mode in which the service is installed.  AUTO_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START

# Allow the service to interact with the desktop.
wrapper.ntservice.interactive=false
ところどころ中略してますが、変更してないところもあるのでそこは何となく汲む方向で。


6. JBOSSWindowsのサービスに登録する。
コマンドプロンプトから、以下のコマンドを実行する。
cd %JBOSS_HOME%\bin
InstallJBoss-NT.bat


これで登録されていると思われるので、管理ツール>サービスなりプロンプトのコマンドなりで開始してみたりする。
Windowsの起動と同時にサービスも開始されるようにしてます。その設定も、wrapper.confの中でできたはず。




以上。