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
posted on 2013-07-05 18:43  架构师刀哥  阅读(2980)  评论(0编辑  收藏  举报