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