分享

Java Service Wrapper注册WINDOWS服务[转]-亦可-搜狐博客

 软件团队头目 2008-02-15

2008-01-08 | Java Service Wrapper注册WINDOWS服务[转]

标签: Java  Service  Wrapper 

最近使用了一个第三方的软件将java写的应用注册成为windows的服务。
比如说james,activeMQ,hsql db等,注册成为了服务后,不用每天对着一个
CMD窗口,也不用每天启动了电脑后去启动这些程序,也是一件比较爽的事情。
用到的第三方的软件是java service wrapper,下载地址是
http://wrapper./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条评论

    发表

    请遵守用户 评论公约

    类似文章 更多