如何將GlassFish作為Windows服務(wù)運(yùn)行
Glassfish 附帶一個(gè)名為 appservService.exe 的 Windows 可執(zhí)行文件,它可與 Windows 服務(wù)控制器通信。其工作方式類似于 Java Service Wrapper 等程序。您為 Glassfish 創(chuàng)建的 Windows 服務(wù)使用幾個(gè)參數(shù)來啟動(dòng) appservService.exe,這些參數(shù)告知它在啟動(dòng)和停止時(shí)要執(zhí)行哪些 asadmin 命令。
Glassfish 并未附帶可為 appservService.exe 輕松創(chuàng)建 Windows 服務(wù)的工具,但是 Sun Java Application Server 9.x 的安裝程序有一個(gè) "Install as a Windows service" 復(fù)選框。如果您要為 Glassfish 創(chuàng)建 Windows 服務(wù),則該說明中給出了可從命令提示符運(yùn)行的一個(gè)相當(dāng)大的命令。如果 Glassfish 安裝路徑包含空格,例如 C:\Program Files\Sun\GlassfishV2
uff0c那么查找正確方法對(duì)轉(zhuǎn)義字符進(jìn)行轉(zhuǎn)義就變得復(fù)雜而不是快速了。
GlassfishSvc.jar
Ryan de Laplante 提供了一個(gè)簡(jiǎn)單的命令行工具,通過它可以輕而易舉地創(chuàng)建 Windows 服務(wù)。下載 GlassfishSvc.jar(源代碼),并將其復(fù)制到 Glassfish 安裝路徑(例如 C:\Program Files\Sun\GlassfishV2
uff09,然后從命令行運(yùn)行以下命令:
C:\Program Files\Sun\GlassfishV2>java -jar GlassfishSvc.jar -i |
Installing service... Done.-i 參數(shù)將使用默認(rèn)選項(xiàng)安裝服務(wù)。命令行參數(shù)的完整列表如下:
glassfishsvc v1.0 (Aug 19 2007) |
群集配置文件
如果您安裝了 Glassfish 群集配置文件,則 Glassfish 會(huì)在服務(wù)啟動(dòng)時(shí)詢問管理員密碼。要避免詢問此問題,請(qǐng)?jiān)诎惭b服務(wù)時(shí)使用 -p 選項(xiàng)。在 Glassfish 根目錄中將創(chuàng)建 password.txt 文件,其中包含純文本形式的密碼。Windows 服務(wù)將配置為使用此文件,以便它可以在無人參與的情況下啟動(dòng)。您應(yīng)該確保在此文件創(chuàng)建后對(duì)其配置相應(yīng)的 NTFS 安全性,以便未授權(quán)用戶對(duì)它沒有讀取或?qū)懭朐L問權(quán)限。
Windows 用戶注銷
默認(rèn)情況下,JVM 可以捕獲來自 Windows 的指示 OS 正在關(guān)閉或用戶正在注銷的信號(hào),并正常地自行關(guān)閉。這意味著,一旦用戶從 Windows 中注銷,Glassfish 服務(wù)便會(huì)關(guān)閉。這有違于使用 Windows 服務(wù)的初衷,因此需要使用 -Xrs JVM 選項(xiàng)關(guān)閉此 JVM 功能。
打開 ﹤GF_HOME>\domains\domain1\config\domain.xml 文件,并查找含有大量 ﹤jvm-options>某個(gè) JVM 選項(xiàng)﹤/jvm-options> 行的部分。在該部分中添加以下行:
﹤jvm-options>-Xrs﹤/jvm-options> |
注意:有報(bào)告指出,在某些 Windows 2003 Server 安裝中將 -Xrs jvm-option 添加到 domain.xml 無法解決此問題。所報(bào)告的解決方案是將 jvm 選項(xiàng)添加到 ﹤GF_HOME>\lib\processLauncher.xml:
﹤process name="as9-server"> ... ﹤sysproperty key="-Xrs"/> ... |
【編輯推薦】