JBossのサービス化について。
サービスの起動ができない件。 - ささくれ、深爪、口内炎。で悶々としつつも何とかやってみた結果を残しておきましょう。
まあ、Wrapperのダウンロードサイトにも懇切丁寧に書いてあるので、必要なさそうですが…
スクリーンショットとか気の効いたものでも取っておければ良かったんですけど、そもそもGUI操作とかがあるでもないので撮る画面自体がないです。コマンドプロンプト程度です。
- 環境
- Windows Server 2003 R2 Standard Edition
- JBoss 4.2.3 GA
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. JBOSSをWindowsのサービスに登録する。
コマンドプロンプトから、以下のコマンドを実行する。
cd %JBOSS_HOME%\bin InstallJBoss-NT.bat
これで登録されていると思われるので、管理ツール>サービスなりプロンプトのコマンドなりで開始してみたりする。
Windowsの起動と同時にサービスも開始されるようにしてます。その設定も、wrapper.confの中でできたはず。
以上。