日期:2014-05-17  浏览次数:20942 次

Glassfish 安装为windows 系统服务

(文档来源官方)

http://wiki.glassfish.java.net/Wiki.jsp?page=FaqRunAsWindowsServiceZh

如何将 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(源代码),并将其复制到 Glassfish 安装路径(例如 C:\Program Files\Sun\GlassfishV2
uff09,然后从命令行运行以下命令:

C:\Program Files\Sun\GlassfishV2>java -jar GlassfishSvc.jar -i 

glassfishsvc v1.0 (Aug 19 2007) 

Service name : GlassfishAppServer 
Glassfish installation path : C:\Program Files\Sun\GlassfishV2
Glassfish domain : domain1 
Glassfish admin username : admin 

Installing service... Done.

-i 参数将使用默认选项安装服务。命令行参数的完整列表如下:

glassfishsvc v1.0 (Aug 19 2007)

DESCRIPTION:
    Installs and uninstalls a Windows service for Glassfish

USAGE:
    java -jar glassfishsvc.jar [-i | -u] [OPTIONS]

    -i        Installs a Windows service for Glassfish.
    -u        Uninstalls a Windows service for Glassfish.
    -n name   Name for the Windows service. Use double quotes around names
              that contain spaces.  Defaults to GlassfishAppServer.
    -d path   Directory where Glassfish is installed. Use double
              quotes around paths with spaces, and escape back slashes.
              Defaults to current directory.
    -m domain Name of the Glassfish domain to start and stop. Defaults to
              domain1.
    -a user   Glassfish admin user name.  Defaults to admin.
    -p pwd    Glassfish admin password.  A password.txt file will be created
              in the Glassfish install directory containing the password in
              plain text, and the Windows service will be configured to read
              from it. This is usually not necessary. If no password is passed
              in, the password.txt file will not be created.

EXAMPLES:
    java -jar glassfishsvc.jar -i
    java -jar glassfishsvc.jar -i -p adminadmin
    java -jar glassfishsvc.jar -i -n MyServiceName -d "C:\\Program Files\\Sun\\Glassfish" -m myDomain -a admin5 -p secretpwd
    java -jar glassfishsvc.jar -u
    java -jar glassfishsvc.jar -u -n MyServiceName

AUTHOR:
    Ryan de Laplante <ryan at ijws dot com>

群集配置文件

如果您安装了 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>