Java Service Wrapper (http://wrapper.tanukisoftware.com/doc/english/product-overview.html)可以很方便得在各个平台(windows,linux,max os)管理Java进程,管理JVM,启动停止,开机启动,管理内存溢出的异常 标准版还可以发错误日志email,检测死锁
比自己写个启动脚本更为方便通用稳定,后台服务可以考虑使用JSW。
这里使用免费的社区版,可以先直接跑一下demo看效果。
基本原理就是 java org.tanukisoftware.wrapper.WrapperSimpleApp ,传递本程序的main程序过去,以此方式启动进程。
这里介绍下启动openfire的步骤
1 本应用的目录分为lib conf logs bin
2 拷贝{WRAPPER_HOME}\bin\wrapper {WRAPPER_HOME}\src\bin\sh.script.in 到本应用的bin目录,并更改sh.script.in为自己的应用名,如openfire_control, 更改两个文件的权限为可执行
openfire_control 设置本app名称
APP_NAME="openfire"
APP_LONG_NAME="openfire"
3 拷贝{WRAPPER_HOME}\lib 到本应用的 wrapper目录,
4 拷贝{WRAPPER_HOME}\conf wrapper到wrapper目录,更改 wrapper.conf:
wrapper.working.dir=.. set.default.REPO_DIR=lib set.default.APP_BASE=. wrapper.java.classpath.1=wrapper/wrapper.jar wrapper.java.classpath.2=conf wrapper.java.classpath.3=lib/*.jar wrapper.java.additional.1=-d64 wrapper.java.additional.2=-server wrapper.java.additional.3=-DopenfireHome=/data1/openfire wrapper.java.library.path.1=wrapper # Initial Java Heap Size (in MB) wrapper.java.initmemory=600 # Maximum Java Heap Size (in MB) wrapper.java.maxmemory=600 # Application parameters. Add parameters as needed starting from 1 wrapper.app.parameter.1=org.jivesoftware.openfire.starter.ServerStarter wrapper.logfile=logs/wrapper.log
5 bin目录下执行 ./openfire_control start,如果应用未启动则到logs目录检查并排除之
debug模式:
Linux/ UNIX Command line Example: |
./wrapper ../conf/wrapper.conf wrapper.debug=TRUE |