使用tomcat把应用程序注册成Windows服务

 

大家都熟悉使用Tomcat部署网站,但是Tomcat还有一项功能就是把应用程序变成Windows的服务。

Tomcat的这个功能就是apachedaemon项目的windows版,就是它网站上提到的procrun.exe的功能。这个可执行文件的功能已经被放到tomcat.exe里面去了。

Tomcat根目录下有个/bin目录,里面放着文件如下:

 

-rw-r--r--    1 xiongyuhao ocadmin     23709  1  2 11:07 bootstrap.jar

-rw-r--r--    1 xiongyuhao ocadmin      8125  1  2 11:07 catalina.bat

-rw-r--r--    1 xiongyuhao ocadmin     11321  1  2 11:07 catalina.sh

-rw-r--r--    1 xiongyuhao ocadmin       903  1  2 11:07 catalina-tasks.xml

-rw-r--r--    1 xiongyuhao ocadmin      9341  1  2 11:07 commons-daemon.jar

-rw-r--r--    1 xiongyuhao ocadmin     26202  1  2 11:07 commons-logging-api.jar

-rw-r--r--    1 xiongyuhao ocadmin       509  1  2 11:07 cpappend.bat

-rw-r--r--    1 xiongyuhao ocadmin      1282  1  2 11:07 digest.bat

-rw-r--r--    1 xiongyuhao ocadmin       841  1  2 11:07 digest.sh

-rw-r--r--    1 xiongyuhao ocadmin       899  1  2 11:07 jkstatus-tasks.xml

-rw-r--r--    1 xiongyuhao ocadmin      1323  1  2 11:07 jmxaccessor-tasks.xml

drwxr-xr-x    5 xiongyuhao ocadmin      4096 2005-05-17  jsvc-src

-rw-r--r--    1 xiongyuhao ocadmin     74398  1  2 11:07 jsvc.tar.gz

-rw-r--r--    1 xiongyuhao ocadmin      4122  1  2 11:07 service.bat

-rw-r--r--    1 xiongyuhao ocadmin      2413  1  2 11:07 setclasspath.bat

-rw-r--r--    1 xiongyuhao ocadmin      3008  1  2 11:07 setclasspath.sh

-rw-r--r--    1 xiongyuhao ocadmin      1271  1  2 11:07 shutdown.bat

-rw-r--r--    1 xiongyuhao ocadmin       780  1  2 11:07 shutdown.sh

-rw-r--r--    1 xiongyuhao ocadmin      1272  1  2 11:07 startup.bat

-rw-r--r--    1 xiongyuhao ocadmin      1173  1  2 11:07 startup.sh

-rw-r--r--    1 xiongyuhao ocadmin     53248  1  2 11:07 tomcat5.exe

-rw-r--r--    1 xiongyuhao ocadmin     98304  1  2 11:07 tomcat5w.exe

-rw-r--r--    1 xiongyuhao ocadmin     12923  1  2 11:07 tomcat-juli.jar

-rw-r--r--    1 xiongyuhao ocadmin    173349  1  2 11:07 tomcat-native.tar.gz

-rw-r--r--    1 xiongyuhao ocadmin      2233  1  2 11:07 tool-wrapper.bat

-rw-r--r--    1 xiongyuhao ocadmin      2545  1  2 11:07 tool-wrapper.sh

-rw-r--r--    1 xiongyuhao ocadmin      1278  1  2 11:07 version.bat

-rw-r--r--    1 xiongyuhao ocadmin       784  1  2 11:07 version.sh

         注意到红色的两个文件,tomcat5.exetomcat5w.exe。先来介绍这两个文件的用途。Tomat5.exe可以把应用程序(包括.exe.class)加成Windows服务。Tomcat5w.exe是用来提供图形化界面配置服务的相关启动、停止参数的。

         Tomcat5.exe 服务程序命令行选项每一个命令行指令都形如//XX//ServiceName

可用的命令行选项如下:

//TS// 控制台应用程序模式运行服务,这是缺省的操作。

在没有提供任何选项开关的时候,它被调用。服务名是执行文件没有exe后缀的部分,如Tomat5

//RS// Run Service的缩写,运行服务,在服务管理器(Sevices.msc)中启动服务的时候被调用。//SS// Stop Service的缩写,停止服务,在服务管理器中停止服务时被调用。

//US// Update Service的缩写,更新服务参数。

//IS// Install service 的缩写,安装服务

//DS// Delete service的缩写,删除服务,如果服务正在运行,首先删除服务。

 

命令行参数

每一个命令行参数以“--”开头。如果命令行以“++”为前缀,则它的值附加到存在的选项上。如果存在和命令行参数有同样的名字,但是以PR_开头的环境变量,它将被优先使用。例如:set PR_CLASSPATH=xx.jar等同于--Classpath=xx.jar 作为命令行参数。

 

参数名 缺省值 描述

--Description 服务名描述 (最多1024个字符)

--DisplayName ServiceName 服务显示名称

--Install procrun.exe //RS//ServiceName 安装服务

--Startup manual Service 服务启动模式,可以是自动或者手动,值分别为:automanual --DependsOn 列举此服务依赖的所有服务. 被依赖的服务用#或者;分隔。

--Environment 列决提供给服务使用的环境变量,形如key=value。多个环境变量之间用#或者;分隔。

--User 运行服务使用的用户账号。 只有在运行于没有“作为服务登录”权限下的账户中使用StartMode java 或者作为服务的exe可运行程序选项的情况下才被使用。

--Password --User参数中用户的密码

--JavaHome JAVA_HOME 定义了JAVA_HOME环境变量时,设置一个不同的JAVA_HOME环境变量

--Jvm auto auto或指定jvm.dll的全路径。这里可以使用环境变量表达式。

--JvmOptions -Xrs 列举形如-D -X 的开关传递给JVM虚拟机。多个选项开关之间用#或者;分隔。

--Classpath 设置JavaClassPath环境变量。

--JvmMs 设置初始使用的内存池容量,单位为MB

--JvmMx 设置最大使用的内存池容量,单位为MB

--JvmSs 线程堆栈容量,单位为KB

--StartImage 要被运行的可执行文件

--StartPath 开始运行可执行文件的工作路径

--StartClass 启动时使用的类

--StartParams 列决要传递给StartImage StartClass的参数。多个参数之间用#或者;分隔。--StartMethod Main 启动服务调用的方法,如果不是main,这里写上方法名

--StartMode executable 可以是jvmjavaexe 之一

--StopImage

 

停止服务调用的可执行文件

--StopPath 停止服务执行的文件的工作路径--StopClass

停止服务调用的类

--StopParams 列决要传递给 StopImage StopClass 的参数。多个参数之间用#或者;分隔。

--StopMethod Main 停止服务调用的方法,如果不是main,这里写上方法名

--StopMode executable 可以是jvmjavaexe 之一

--StopTimeout No Timeout 定义一个服务顺利退出的延时,单位为秒。

--LogPath 定义日志路径

--LogPrefix jakarta_service 定义日志文件名前缀

--LogLevel INFO 定义日志等级,可选值:error, info, warndebug

--StdOutput 重定向stdout文件名

--StdError 重定向Stderr文件名

在命令行里面敲入tomcat5.exe //IS//JavaService注册一个叫JavaService的服务,后面可以跟着很多参数。如果要用tomcat把一个程序注册成为一个服务的话,要使用--Install这个参数,--Install="C:\Program Files\Tomcat\bin\tomcat5.exe",引号里面的填的一定要是本机上tomcat5.exe的位置。不建议用命令行的形式配置启动、停止参数等。

配置参数请使用tomcat5w.exe,在命令行中敲入tomcat5w.exe //ES//JavaService这个

命令后,会出现如下窗口,如图1所示:

 

1

第一个选项卡General中的选项就是对这个服务最基本的描述,Path to executable是在安装服务的时候通过—Install这个选项指定的。Startup type这个选项是配置这个服务的启动方式,有“Manual/Auto/Disabled”三个选项,分别表示“手动启动/Windows系统自启动/禁用这个服务”的意思。Service Status表示这个服务的当前状态。

Log on选项卡是对能使用这个服务的账户进行记录。如图2

 

2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值