使用WRAPPER制作JAVA程序为WINDOWS服务

使用WRAPPER制作JAVA程序为WINDOWS服务

最近使用了一个第三方的软件将java写的应用注册成为windows的服务。
比如说james,activeMQ,hsql db等,注册成为了服务后,不用每天对着一个
CMD窗口,也不用每天启动了电脑后去启动这些程序,也是一件比较爽的事情。
用到的第三方的软件是java service wrapper,下载地址是
http://wrapper.tanukisoftware.org/doc/english/integrate-simple-win.html
我用的版本是3.2.3最新版本。
在hsqldb里面的data目录本来有runServer.bat,启动了之后的数据库是sillycat
runServer.bat脚本是这样写的:
@java -classpath ../lib/hsqldb.jar org.hsqldb.Server -database.0 sillycat -dbname.0 sillycat -port 9002
那首先我们拷贝并且重命名
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\src\bin\App.bat.in---D:\tool\hsqldb\data\Hsqldb.bat
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\src\conf\wrapper.conf.in---D:\tool\hsqldb\data\wrapper.conf
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\bin\wrapper.exe---D:\tool\hsqldb\data\wrapper.exe
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\lib\wrapper.dll---D:\tool\hsqldb\lib\wrapper.dll
E:\book\wrapper\wrapper-windows-x86-32-3.2.3\lib\wrapper.jar---D:\tool\hsqldb\lib\wrapper.jar
其中hsqldb.bat是我们测试用的,wrapper.conf是配置文件,wrapper.exe,wrapper.dll,wrapper.jar都是需要的文件

,我们
可以在wrapper.conf中配置它的路径和名字的。
首先看hsqldb.bat,其中有行set _WRAPPER_CONF="%_REALPATH%\conf\wrapper.conf"
应为我们已经把脚本和配置放在了一个目录下面,所以要修改为:
set _WRAPPER_CONF="%_REALPATH%\wrapper.conf"
另外wrapper.conf就要修改得多了,我把整个文件都列出来,一个一个看,wrapper.conf:
#********************************************************************
# Wrapper Properties
#********************************************************************
# Java Application j2sdk所安装的路径,如果path中有d://tool/j2sdk/bin,那么只写个java就可以了
wrapper.java.command=java

# Java Main class. This class must implement the WrapperListener interface
# or guarantee that the WrapperManager class is initialized. Helper
# classes are provided to do this for you. See the Integration section
# of the documentation for details. 这个不用修改了
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp

# Java Classpath (include wrapper.jar) Add class path elements as
# needed starting from 1 从1开始,把hsqldb要用到的jar也要加入进去
wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=../lib/hsqldb.jar

# Java Library Path (location of Wrapper.DLL or libwrapper.so)
# 这个主要是加入那个wrapper.dll吧,我理解的是
wrapper.java.library.path.1=../lib

# Java Additional Parameters 启动JVM的参数
#wrapper.java.additional.1=

# Initial Java Heap Size (in MB)
#wrapper.java.initmemory=3

# Maximum Java Heap Size (in MB)
#wrapper.java.maxmemory=64

# Application parameters. Add parameters as needed starting from 1
# 第一个是启动hsqldb的主函数,从hsqldb的启动bat里面找到的,另外的就是启动参数了
wrapper.app.parameter.1=org.hsqldb.Server
wrapper.app.parameter.2=-database.0 sillycat
wrapper.app.parameter.3=-dbname.0 sillycat
wrapper.app.parameter.4=-port 9002

#********************************************************************
# Wrapper Logging Properties
#********************************************************************
# Format of output for the console. (See docs for formats)
wrapper.console.format=PM

# Log Level for console output. (See docs for log levels)
wrapper.console.loglevel=INFO

# Log file to use for wrapper output logging.
wrapper.logfile=../logs/wrapper.log

# Format of output for the log file. (See docs for formats)
wrapper.logfile.format=LPTM

# Log Level for log file output. (See docs for log levels)
wrapper.logfile.loglevel=INFO

# Maximum size that the log file will be allowed to grow to before
# the log is rolled. Size is specified in bytes. The default value
# of 0, disables log rolling. May abbreviate with the 'k' (kb) or
# 'm' (mb) suffix. For example: 10m = 10 megabytes.
wrapper.logfile.maxsize=0

# Maximum number of rolled log files which will be allowed before old
# files are deleted. The default value of 0 implies no limit.
wrapper.logfile.maxfiles=0

# Log Level for sys/event log output. (See docs for log levels)
wrapper.syslog.loglevel=NONE

#********************************************************************
# Wrapper Windows Properties
#********************************************************************
# Title to use when running as a console
wrapper.console.title=Hsql DB

#********************************************************************
# Wrapper Windows NT/2000/XP Service Properties
#********************************************************************
# WARNING - Do not modify any of these properties when an application
# using this configuration file has been installed as a service.
# Please uninstall the service before modifying this section. The
# service can then be reinstalled.

# Name of the service 应用的名字
wrapper.ntservice.name=Hsql DB

# Display name of the service
wrapper.ntservice.displayname=Hsql DB

# Description of the service
wrapper.ntservice.description=Hsql DB

# Service dependencies. Add dependencies as needed starting from 1
wrapper.ntservice.dependency.1=

# Mode in which the service is installed. AUTO_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START

# Allow the service to interact with the desktop.
wrapper.ntservice.interactive=false

这个配置文件搞定了以后,就可以运行hsqldb.bat来测试一下,我们通过wrapper能不能正常启动
hsqldb,如果测试通过了。
那么就简单了,运行如下命令
wrapper.exe -i wrapper.conf -----装载WINDOWS服务
wrapper.exe -r wrapper.conf -----卸载WINDOWS服务

james邮件系统的D:\tool\james-2.3.1\bin下面就有wrapper.exe,只要把D:\tool\james-2.3.1\conf\wrapper.conf
拷贝过来运行命令就可以了,不过james-2.3.1版本用的wrapper好像不是最新版本的。有些不同。
activeMQ的D:\tool\apache-activemq-4.1.1\bin\win32下面也是准备好了的,运行命令就可以了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值