以有個java應用名稱為test,打包為test.jar,程序入口為cn.com.ppnote.SocketServer。
下面在linux的/opt下建立testapp目錄,復制test.jar到/opt/testapp/lib目錄下。
1、下載Java Service Wrapper(目前版本wrapper-linux-x86-32-3.2.3), 解壓。
http://wrapper.tanukisoftware.org/
復制src\bin\sh.script.in到/opt/testapp/bin目錄,重命名為SocketServer
復制wrapper\bin目錄下的wrapper文件到/opt/testapp/bin目錄
復制src\conf\wrapper.conf.in到/opt/testapp/conf目錄,重命名為wrapper.conf
復制src\lib\lib目錄下3個文件到/opt/testapp/lib目錄
wrapper.so
wrapper.jar
2、修改/opt/testapp/bin/SocketServer文件
APP_NAME="SocketServer"
APP_LONG_NAME="SocketServer Application Server"
WRAPPER_CMD="./wrapper"
WRAPPER_CONF="../conf/wrapper.conf"
賦予執行權限
chmod 775 /opt/testapp/bin/SocketServer
chmod 775 /opt/testapp/bin/wrapper
3、修改/opt/testapp/conf/wrapper.conf文件
wrapper.java.command=/opt/jdk1.6.0_02/bin/java
使用WrapperStartStopApp,這樣可以通過命令帶start/stop來啟動/停止程序。
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperStartStopApp
#這里添加你用到的jar包文件,從1..n你自己全寫上吧,不過wrapper是必須的
wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=../lib/test.jar
wrapper.java.classpath.3=/opt/jdk1.6.0_02/lib/dt.jar
wrapper.java.classpath.4=/opt/jdk1.6.0_02/lib/tools.jar
wrapper.java.library.path.1=../lib
#這個就是你自己可執行程序的主類(MainClass),一般來說,就是包含public static void main的那個類
wrapper.app.parameter.1=cn.com.ppnote.SocketServer
wrapper.app.parameter.2=1
wrapper.app.parameter.3=true
wrapper.app.parameter.4=cn.com.ppnote.SocketServer
wrapper.app.parameter.5=true
wrapper.app.parameter.6=1
wrapper.app.parameter.7=stop
上面的配置里使用了WrapperStartStopApp,這樣可以通過命令帶start/stop來啟動/停止程序。
4、讓SocketServer開機自動運行
ln -s /opt/testapp/bin/SocketServer /etc/init.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc0.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc1.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc2.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc3.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc4.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc5.d/SocketServer
ln -s /opt/testapp/bin/SocketServer /etc/rc6.d/SocketServer
5、測試 執行命令:service SocketServer start|stop|restart|status
程序運行時,Java Service Wrapper在/opt/testapp/bin/目錄下產生wrapper.log日志,
STATUS | wrapper | 2007/08/01 17:17:01 | --> Wrapper Started as Daemon
STATUS | wrapper | 2007/08/01 17:17:01 | Launching a JVM...
INFO | jvm 1 | 2007/08/01 17:17:09 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO | jvm 1 | 2007/08/01 17:17:09 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
INFO | jvm 1 | 2007/08/01 17:17:09 |
INFO | jvm 1 | 2007/08/01 17:17:10 | 程序開始運行...
INFO | jvm 1 | 2007/08/01 17:17:26 | Connection: Open
......
附目錄結構
/opt/testapp/bin
| SocketServer
| wrapper
| wrapper.log(程序運行時自動產生)
/opt/testapp/conf
| wrapper.conf
/opt/testapp/lib
| libwrapper.so
| wrapper.jar
| test.jar