將Java應用注冊為后臺服務

字號:

項目中有一個java應用程序,交付后用戶要求要把這個程序做成后臺服務程序,即:系統(tǒng)啟動后該程序可以自動啟動,并且在前臺不要出現運行窗口,維護人員只要在“服務管理”(Windows)中選擇啟動或停止即可.
    解決辦法如下:
    Linux
    在Linux中注冊后臺服務程序相對容易,只需編輯/etc/init.d/boot.local文件,在boot.local文件里加上下面這句腳本:
    /iapappserver/MessageServer2.1/run.sh
    其中run.sh是java應用的運行腳本
    Windows
    在Windows下的情況較為復雜,需要使用Windows提供的兩個工具:instsrv.exe(下載)和Srvany.exe(下載).
    instsrv: 這個工具是把win32程序變成系統(tǒng)服務。
    基本用法:
    instsrv [服務名] [應用程序絕對路徑] (增加服務)
    instsrv [服務名] REMOVE  (刪除服務)
    但是并不是所有程序都適合做系統(tǒng)服務的,注冊成系統(tǒng)服務后就是無法啟動的,這時就需要用到srvany.
    srvany: 這個工具就是用來解決上面的工具中的問題,你注冊的時候把它當作你要的服務,在用它來啟動你的應用程序。
    基本用法:
    instsrv [服務名] [srvany的絕對路徑]
    具體步驟如下:
    1. 注冊服務: path\instsrv 服務名 path\srvany.exe
    2. regedit打開注冊表
    3. 進入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服務名
    4. 右鍵-新建-項 填入 Parameters
    5. 打開Parameters,右鍵-新建-字符串值 Application
    6. 雙擊Application 填入 應用程序的絕對路徑,如: D:\workspace\app\main.exe
    7. 右鍵-新建-字符串值AppDirectory
    8. 雙擊AppDirectory 填入 應用程序的工作目錄,如: D:\workspace\app\
    9. 啟動服務。
    在Parameters里還可以添加很多鍵值:
    AppDirectory 工作目錄
    AppParameters 你的應用程序的參數。
    AppEnvironment 運行環(huán)境變量。