2013年6月20日木曜日

JBoss AS 7 を Windows Service 化

はじめに:

今回は JBoss5用の "JBoss Web Native Connectors" を流用して、JBoss AS 7 の Windows サービス化 します。

前提条件:

・ JBoss バージョンは Windows x64用です(当たり前か。。。)
・ JBoss AS 7 は、D:\JBoss\jboss-as-7.1.1.Final にインストールされている



サービス化手順:

1. JBoss Web Native Connectors を Download

http://www.jboss.org/jbossweb/downloads/jboss-native-2-0-9.html

今回は前提条件にあるようにWindows x64なので、binaries 2.0.9-windows (x64) を選択します、すると、jboss-native-2.0.9-windows-x64-ssl.zip をDownloadすることになります

 2. jboss-native-2.0.9-windows-x64-ssl.zipをUnzip

Unzipすると以下のようなフォルダ構成で解凍されます。
下の例では D:\JBOSS\JBOSS-NATIVE-2.0.9-WINDOWS-X64-SSLにUnzipしています

 D:\JBOSS\JBOSS-NATIVE-2.0.9-WINDOWS-X64-SSL
├───bin
│   │   jbosssvc.exe
│   │   jbossweb.x64.exe
│   │   jbosswebw.x64.exe
│   │   README-service.txt
│   │   service.bat
│   │
│   └───native
└───licenses

3. UnzipしたbinとlicensesフォルダをJBossのインストールフォルダに置きます

(念のため、インストールフォルダはバックアップを取っておいた方がいいですね。)
結果、JBossのインストールフォルダ構成はこんな感じになります 。

D:\JBOSS\JBOSS-AS-7.1.1.FINAL
├───appclient
├───bin
│   │   jbosssvc.exe
│   │   jbossweb.x64.exe
│   │   jbosswebw.x64.exe
│   │   service.bat

│   │   README-service.txt
│   │   run.bat
│   │   standalone.bat
│   ├───client
│   ├───init.d
│   ├───logs
│   └───native
├───bundles
├───docs
├───domain
├───licenses
├───modules
├───standalone
└───welcome-content

赤字のフォルダ・ファイルが置かれたものです、ほかは既存のファイルです。

4. service.batを編集します(重要!

===service.bat ========================

20行目|     set SVCNAME=JBAS71SVC
21行目|     set SVCDISP=JBoss AS 7.1.1.Final
22行目|     set SVCDESC=JBoss AS 7.1.1.Final: Windows x64
84行目|     REM call shutdown -S < .s.lock >> shutdown.log 2>&1
94行目|     REM call shutdown -S < .s.lock >> shutdown.log 2>&1


=====================================

service.batをテキストエディタで開き、次の5行を編集します
20, 21, 22行目はService ID, Name, Descriptionなので、他のWindows Serviceと重複しない適当な文字列に変えてあげればいいのです。それに、そのままだと、JBoss5の名前になっているので、気持ち悪いですし。

それよりも、84、94行目のコメントアウトは重要です。
思いっきり、WindowsのShutdownコマンドをCallしています、このままREMを付けずにJBossをWindows Serviceに登録してしまうと、サービスを停止したときにWindowsもろともShutdownしてしまいます!

5. run.batを編集する

run.batをテキストエディタで開き、echo.から始まる行(7行)をガッツリ削除します。
そして、 standalone.batをCallするように下のように追加します。

===service.bat ========================

@ECHO OFF
REM Placeholder for people used to run.bat from older version redirecting them to read the readme
set JAVA_HOME=D:\Java\jdk1.7.0_21
call D:\JBoss\jboss-as-7.1.1.Final\bin\standalone.bat -b 0.0.0.0 -bmanagement=0.0.0.0

=====================================

JAVA_HOMEや、-bオプションや-bmanagementオプションの値は、環境に合わせて適切な値に変更してくださいね

6. Service登録

コマンドプロンプトを開きます。(Windows 2008やWindows 7の場合は管理者として開いてください)。
JBossのbinに移動してservice.batを実行します

D:\JBoss\jboss-as-7.1.1.Final\bin>service.bat install
Installed JBAS71SVC
Service JBoss Application Server 7.1.1.Final installed


以上でサービス化完了。





0 件のコメント:

コメントを投稿