javaservice wrapper 實現註冊服務功能

 

1.下載社區版(Community)
主站:
http://wrapper.tanukisoftware.com/doc/english/download.jsp

下載地址:
32-bit
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-linux-ppc-32-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-linux-x86-32-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-macosx-universal-32-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-solaris-sparc-32-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-solaris-x86-32-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-windows-x86-32-3.5.9.zip

64-bit
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-linux-ia-64-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-linux-ppc-64-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-linux-x86-64-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-solaris-sparc-64-3.5.9.tar.gz
http://wrapper.tanukisoftware.com/download/3.5.9/wrapper-solaris-x86-64-3.5.9.tar.gz

2.例子1

a.創建HelloWorld_HOME文件夾,在下面編寫例子程序HelloWorld.java
public class HelloWorld {
 public static void main(String[] args) {
  System.out.println("Starting Hello World");

  while (true) {
   try {
    Thread.sleep(1000);
   } catch (InterruptedException e) {
   }

   System.out.println("Looping...");
  }
 }
}


b.編寫編譯和執行的bat文件
compile.bat內容(創建在HELLOWORLD_HOME目錄下):
javac HelloWorld.java
pause

run_HelloWorld.bat內容(創建在HELLOWORLD_HOME目錄下):
java -classpath . HelloWorld
pause

c.執行 compile.bat
C:\HelloWorld_HOME>javac HelloWorld.java

C:\HelloWorld_HOME>pause
請按任意鍵繼續. . .

d.執行 run_HelloWorld.bat
C:\HelloWorld_HOME>java -classpath . HelloWorld
Starting Hello World
Looping...
Looping...
Looping...
Looping...
Looping...

點擊關閉console

e.在HelloWorld_HOME編寫文件目錄創建的bat文件
create_directory.bat內容(創建在HELLOWORLD_HOME目錄下):
mkdir bin
mkdir conf
mkdir lang
mkdir lib
mkdir lib\classes
mkdir logs
pause

f.執行create_directory.bat

g.下載wrapper-windows-x86-32-3.5.9.zip文件,解壓後
把wrapper-windows-x86-32-3.5.9\bin\wrapper.exe文件拷貝到HelloWorld_HOME\bin目錄下,
把wrapper-windows-x86-32-3.5.9\lib\wrapper.dll文件拷貝到HelloWorld_HOME\lib目錄下,
把wrapper-windows-x86-32-3.5.9\lib\wrapper.jar文件拷貝到HelloWorld_HOME\lib目錄下,


h.拷貝HelloWorld.class到HELLOWORLD_HOME\lib\classes目錄下
move_HelloWorld_class.bat內容(創建在HELLOWORLD_HOME目錄下):
move HelloWorld.class lib\classes
pause

執行move_HelloWorld_class.bat文件

i.編寫Wrapper的配置文件wrapper.conf
wrapper.conf內容(保存在HELLOWORLD_HOME\conf文件夾下):
encoding=UTF-8
#include ../conf/wrapper-license.conf

wrapper.lang.folder=../lang

# Java Configuration.
wrapper.java.command=java
wrapper.java.command.loglevel=INFO

wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
wrapper.app.parameter.1=HelloWorld

wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=../lib/classes

wrapper.java.library.path.1=../lib

# Logging Configuration
wrapper.logfile=../logs/wrapper.log

# Service Configuration
wrapper.name=MyHelloWorld
wrapper.ntservice.starttype=AUTO_START


j.啓動配置HelloWorld程序
run_Wrapper.bat內容(創建在HELLOWORLD_HOME目錄下):
bin\wrapper.exe -c ..\conf\wrapper.conf
pause

執行run_Wrapper.bat文件顯示:

C:\HelloWorld_HOME>bin\wrapper.exe -c ..\conf\wrapper.conf
wrapper  | --> Wrapper Started as Console
wrapper  | Java Service Wrapper Community Edition 32-bit 3.5.9
wrapper  |   Copyright (C) 1999-2011 Tanuki Software, Ltd. All Rights Reserved.
wrapper  |     http://wrapper.tanukisoftware.com
wrapper  |
wrapper  | Launching a JVM...
wrapper  | Command: "C:\WINDOWS\system32\java.exe" -Djava.library.path="../lib"
-classpath "../lib/wrapper.jar;../lib/classes" -Dwrapper.key="nJkBcJUr644sxdao"
-Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -
Dwrapper.pid=916 -Dwrapper.version="3.5.9" -Dwrapper.native_library="wrapper" -D
wrapper.cpu.timeout="10" -Dwrapper.jvmid=1 org.tanukisoftware.wrapper.WrapperSim
pleApp HelloWorld
jvm 1    | WrapperManager: Initializing...
jvm 1    | Starting Hello World
jvm 1    | Looping...
jvm 1    | Looping...
jvm 1    | Looping...
jvm 1    | Looping...
jvm 1    | Looping...
jvm 1    | Looping...
jvm 1    | Looping...
jvm 1    | Looping...
jvm 1    | Looping...
wrapper  | CTRL-C trapped.  Shutting down.
jvm 1    | Looping...
wrapper  | <-- Wrapper Stopped
終止批處理操作嗎(Y/N)? y


k.把HelloWorld作爲Windows服務
install_service.bat內容(創建在HELLOWORLD_HOME目錄下):
bin\wrapper.exe -i ..\conf\wrapper.conf
pause

執行install_service.bat文件顯示:

C:\HelloWorld_HOME>bin\wrapper.exe -i ..\conf\wrapper.conf
wrapper  | MyHelloWorld service installed.

C:\HelloWorld_HOME>pause
請按任意鍵繼續. . .

如果顯示wrapper  | MyHelloWorld service installed.表明服務已經安裝


l.啓動服務
有兩種方式
方式1:
編寫start_service_by_net.bat內容(創建在HELLOWORLD_HOME目錄下):
net start MyHelloWorld
pause

執行start_service_by_net.bat顯示:

C:\HelloWorld_HOME>net start MyHelloWorld
MyHelloWorld 服務正在啓動 ..
MyHelloWorld 服務已經啓動成功。


C:\HelloWorld_HOME>pause
請按任意鍵繼續. . .

方式2:
編寫start_service_by_wrapper.bat內容(創建在HELLOWORLD_HOME目錄下):
bin\wrapper.exe -t ..\conf\wrapper.conf
pause

執行start_service_by_wrapper.bat顯示:
C:\HelloWorld_HOME>bin\wrapper.exe -t ..\conf\wrapper.conf
wrapper  | Starting the MyHelloWorld service...
wrapper  | Waiting to start...
wrapper  | Waiting to start...
wrapper  | MyHelloWorld started.

C:\HelloWorld_HOME>pause
請按任意鍵繼續. . .

m.停止服務
有兩種方式
方式1:
編寫stop_service_by_net.bat內容(創建在HELLOWORLD_HOME目錄下):
net stop MyHelloWorld
pause

執行stop_service_by_net.bat顯示:

C:\HelloWorld_HOME>net stop MyHelloWorld
.
MyHelloWorld 服務已成功停止。


C:\HelloWorld_HOME>pause
請按任意鍵繼續. . .

方式2:
編寫stop_service_by_wrapper.bat內容(創建在HELLOWORLD_HOME目錄下):
bin\wrapper.exe -p ..\conf\wrapper.conf
pause

執行stop_service_by_wrapper.bat顯示:
C:\HelloWorld_HOME>bin\wrapper.exe -p ..\conf\wrapper.conf
wrapper  | Stopping the MyHelloWorld service...
wrapper  | MyHelloWorld stopped.

C:\HelloWorld_HOME>pause
請按任意鍵繼續. . .

n.移除服務
編寫uninstall_service.bat內容(創建在HELLOWORLD_HOME目錄下):
bin\wrapper.exe -r ..\conf\wrapper.conf
pause

執行uninstall_service.bat顯示:
C:\HelloWorld_HOME>bin\wrapper.exe -r ..\conf\wrapper.conf
wrapper  | MyHelloWorld service removed.

C:\HelloWorld_HOME>pause
請按任意鍵繼續. . .

 

來源於網絡,迴歸於網絡.
我的郵箱:[email protected] QQ:48399956

 [email protected]
快樂!
2011年07月20日

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章