GlassFish v3 Prelude の導入(2) Service化

独自にインストールしたGlassFishはOSの起動・終了に連携してくれませんので自分で連携するように設定する必要があります。
(いや、無いですけど、OSと別に起動・終了を行うのも大変だし、忘れますよね。)

というわけで、サービス化と呼んで良いのか分かりませんが、GlassFishの起動・終了をOSの起動・終了に連携させてみます。

まずは、スクリプトを作成します。/etc/init.d/glassfishとでもしましょうか。あまり詳しくないのでこれが全く正しくてふさわしいのか分かりませんが、とりあえず自分が作成したのはこんな感じ。GlassFishの実行ディレクトリは皆さんの環境に合わせて修正して下さいね。

#!/bin/sh
### BEGIN INIT INFO
# Provides:          glassfish
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      S 0 1 6
# Short-Description: StartUP and Shutdown for GlassFish v3 Prelude.
# Description: Written by Doitaroh
### END INIT INFO
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Starting application server" "glassfishv3prelude"
/xxxxx/glassfishv3-prelude/bin/asadmin start-domain
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported. Use stop and wait and start." >&2
exit 3
;;
stop)
/xxxxx/glassfishv3-prelude/bin/asadmin stop-domain
log_daemon_msg "Stopping application server" "glassfishv3prelude"
;;
*)
;;
esac

Restart, Reloadには対応していませんので対応させたい方は自力で頑張って下さい。流れとしてはasadmin stop-domainで停止コマンドを発行した後、asadmin list-domainsで動いているdomainが無くなったことを確認してからasadmin start-domainで起動という流れです。

ちなみにWindowsで作成してアップロードする場合は改行コードにCRが付かないように気を付けましょう。

ファイル作成後は権限をルートのものにしておくことと、実行権限を与えておきましょう。

$ sudo chown root glassfish
$ sudo chgrp root glassfish
$ sudo chmod 755 glassfish
$ sudo mv glassfish /etc/init.d/

update-rc.dというコマンドで自動起動/終了の登録ができます。今回は既にインストールされているApacheよりも後に起動し、Apacheよりも先に終了させようと思います。Apacheのシーケンスコードが起動=91、終了=09となっていましたので、GlassFishはそれぞれ92, 08としてみました。

$ sudo update-rc.d glassfish defaults 92 08
 Adding system startup for /etc/init.d/glassfish ...
   /etc/rc0.d/K08glassfish -> ../init.d/glassfish
   /etc/rc1.d/K08glassfish -> ../init.d/glassfish
   /etc/rc6.d/K08glassfish -> ../init.d/glassfish
   /etc/rc2.d/S92glassfish -> ../init.d/glassfish
   /etc/rc3.d/S92glassfish -> ../init.d/glassfish
   /etc/rc4.d/S92glassfish -> ../init.d/glassfish
   /etc/rc5.d/S92glassfish -> ../init.d/glassfish
$

さぁ、起動・終了の確認をしてみましょう。

[記事作成日: 2009-05-15]

Homepage banner and link for this title's top page
Top > Knowledge > Ubuntu 8.04 LTS Server > GlassFish v3 Prelude の導入(2) Service化
このエントリーをはてなブックマークに追加
エプソン製品のアウトレット販売
Fujitsu わけあり品 ビジネス向けicon
Fujitsu Campaign (キャンペーン)icon
DELL 【SOHO法人様向け】デル・イチオシページ(ノートブック)
Panasonic マイレッツ倶楽部 キャンペーン&お得情報
Fujitsu OUTLET (アウトレット)icon
NECパソコンお買い得情報
Microsoft Surface
デル株式会社デル株式会社マウスコンピューター/G-TuneHP Directplus オンラインストア