Windows サービスとして GlassFish? を実行するには?GlassFish には、Windows サービス・コントローラ と連携する appservService.exe という Windows 用実行ファイルが付属しています。このツールは Java サービス・ラッパー とよく似た機能を備えています。 GlassFish 用の Windowsサービスを作成すると、そのサービスは 起動 / 停止時に実行すべきasadminコマンドを引数に指定して appservService.exe を開始します。 GlassFish には appservService.exe 用の Windows サービスを簡単に作成するためのツールは付属しませんが、 Sun Java Application Server 9.x のインストーラには " Windowsサービスの作成 "というチェックボックスが用意されています。 GlassFish 用の Windows サービスを作成する際には、コマンドプロンプト上から実行できるコマンドに関する解説 もご覧ください。 GlassfishSvc.jarRyan de Laplante が、 Windows サービスを手軽に作成するためのツールを作成してくれました。 GlassfishSvc.jar をダウンロードし (ソース) 、GlassFish をインストールしたディレクトリ ( C:\Program Files\Sun\GlassfishV2\ など)にコピーし、コマンドラインから以下のコマンドを実行してください: C:\Program Files\Sun\GlassfishV2>java -jar GlassfishSvc.jar -i glassfishsvc v1.0 (Aug 19 2007) Service name : GlassfishAppServer Glassfish installation path : C:\Program Files\Sun\GlassfishV2 Glassfish domain : domain1 Glassfish admin username : admin Installing service... Done. 引数の -i を指定すると、デフォルトのオプションでサービスがインストールされます。コマンドライン引数の一覧は以下のとおりです。 glassfishsvc v1.0 (Aug 19 2007) DESCRIPTION: Installs and uninstalls a Windows service for Glassfish USAGE: java -jar glassfishsvc.jar [-i | -u] [OPTIONS] -i Installs a Windows service for Glassfish. -u Uninstalls a Windows service for Glassfish. -n name Name for the Windows service. Use double quotes around names that contain spaces. Defaults to GlassfishAppServer. -d path Directory where Glassfish is installed. Use double quotes around paths with spaces, and escape back slashes. Defaults to current directory. -m domain Name of the Glassfish domain to start and stop. Defaults to domain1. -a user Glassfish admin user name. Defaults to admin. -p pwd Glassfish admin password. A password.txt file will be created in the Glassfish install directory containing the password in plain text, and the Windows service will be configured to read from it. This is usually not necessary. If no password is passed in, the password.txt file will not be created. EXAMPLES: java -jar glassfishsvc.jar -i java -jar glassfishsvc.jar -i -p adminadmin java -jar glassfishsvc.jar -i -n MyServiceName -d "C:\\Program Files\\Sun\\Glassfish" -m myDomain -a admin5 -p secretpwd java -jar glassfishsvc.jar -u java -jar glassfishsvc.jar -u -n MyServiceName AUTHOR: Ryan de Laplante <ryan at ijws dot com> クラスタ・プロファイルGlassFish クラスタ・プロファイル をインストールした場合、 GlassFish はサービスを起動するたびに admin のパスワードを聞いてきます。これを避けるには、サービスのインストール時に -p オプションを指定するようにしてください。こうすると、パスワードがプレーン・テキスト形式で書きまれた password.txt というファイルが GlassFish のルートディレクトリに作成されます。また Windows サービスはこのファイルを参照して自動で起動されるよう構成されます。なお、このようにしてファイルを作成した場合、権限のないユーザにファイルを読み書きされないよう NTFS のセキュリティを正しく設定してください。 Windows ユーザのログアウトデフォルトの設定では、JVM は OS のシャットダウン時、またはユーザのログアウト時に Windows から 通知を受け取り、自分自身を適切にシャットダウンするようになっています。つまり、ユーザが Windows からログアウトすると GlassFish がシャットダウンされるようになっているのです。 <GF_HOME>\domains\domain1\config\domain.xml ファイルを開き、f <jvm-options>some JVM option</jvm-options> が多数列挙されている行を探して、以下の一行をそこに追加してください。 <jvm-options>-Xrs</jvm-options> 追加できたら、 domain.xml ファイルを保存して閉じておきます。 GlassFish のサービスが既に起動されている場合は、変更を反映するために再起動してください。 注意: Windows 2003 Server 上では、 domain.xml に -Xrs jvm-option を追加しても問題が解決されないという報告があります。この場合、 jvm オプションを <GF_HOME>\lib\processLauncher.xml することで解決可能とのことです。 <process name="as9-server"> ... <sysproperty key="-Xrs"/> ... 関連情報Ryan de Laplante のブログ・エントリ(英語) 日本語翻訳: Kana 英文 (翻訳したバージョン: 8) |