如何将GlassFish作为Windows服务运行 博客分类: Java WindowsGlassfishJVMSUN配置管理
-
本文档来自GlassFish官方网站,详细介绍了将 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> |
保存并关闭 domain.xml。如果 Glassfish 服务已在运行,请重新启动它以使更改生效。
注意:有报告指出,在某些 Windows 2003 Server 安装中将 -Xrs jvm-option 添加到 domain.xml 无法解决此问题。所报告的解决方案是将 jvm 选项添加到 ﹤GF_HOME>\lib\processLauncher.xml:
﹤process name="as9-server">
...
﹤sysproperty key="-Xrs"/>
...