转自:http://sheng.iteye.com/blog/387647
近日,需要把一个Tomcat安装为Windows服务,安装很简单,只要执行一下 bin/service.bat install 即可,但是Tomcat上布署的应用启动时就需要连接MySQL数据库,所以Tomcat服务依赖MySQL服务,如何能让手工安装的Tomcat服务设置一个依赖服务。查了一些资料,发现Tomcat5.exe 和 Tomcat5w.exe 有一些参数可以设置服务参数。
Tomcat5.exe 服务程序
命令行选项
每一个命令行指令都形如//XX//ServiceName
可用的命令行选项如下:
The ServiceName is the name of the executable without exe sufix, meaning Tomcat5
- //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 服务启动模式,可以是自动或者手动,值分别为:auto和manual
–DependsOn 列举此服务依赖的所有服务. 被依赖的服务用#或者;分隔。
–Environment 列决提供给服务使用的环境变量,形如key=value。多个环境变量之间用#或者;分隔。
–User 运行服务使用的用户账号。 只有在运行于没有“作为服务登录”权限下的账户中使用StartMode java 或者作为服务的exe可运行程序选项的情况下才被使用。
–Password –User参数中用户的密码
–JavaHome J***A_HOME 定义了J***A_HOME环境变量时,设置一个不同的J***A_HOME环境变量
–Jvm auto 用auto或指定jvm.dll的全路径。这里可以使用环境变量表达式。
–JvmOptions -Xrs 列举形如-D 或 -X 的开关传递给JVM虚拟机。多个选项开关之间用#或者;分隔。
–Classpath 设置Java的ClassPath环境变量。
–JvmMs 设置初始使用的内存池容量,单位为MB。
–JvmMx 设置最大使用的内存池容量,单位为MB。
–JvmSs 线程堆栈容量,单位为KB
–StartImage 要被运行的可执行文件
–StartPath 开始运行可执行文件的工作路径
–StartClass 启动时使用的类
–StartParams 列决要传递给StartImage 或 StartClass的参数。多个参数之间用#或者;分隔。
–StartMethod Main 启动服务调用的方法,如果不是main,这里写上方法名
–StartMode executable 可以是jvm、java或exe 之一
–StopImage 停止服务调用的可执行文件
–StopPath 停止服务执行的文件的工作路径
–StopClass 停止服务调用的类
–StopParams 列决要传递给 StopImage 或 StopClass 的参数。多个参数之间用#或者;分隔。
–StopMethod Main 停止服务调用的方法,如果不是main,这里写上方法名
–StopMode executable 可以是jvm、java或exe 之一
–StopTimeout No Timeout 定义一个服务顺利退出的延时,单位为秒。
–LogPath 定义日志路径
–LogPrefix jakarta_service 定义日志文件名前缀
–LogLevel INFO 定义日志等级,可选值:error, info, warn或debug
–StdOutput 重定向stdout文件名
–StdError 重定向Stderr文件
打开bin/service.bat文件,在
1 2 |
echo Using JVM: %PR_JVM% "%EXECUTABLE%" //IS//%SERVICE_NAME% --StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop |
一句后面加上 –DependsOn mysql5.1.32
再执行bin/service.bat,即可安装Tomcat服务,并且依赖MySQL5.1.32