程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Windows 64位環境的Java服務配置

Windows 64位環境的Java服務配置

編輯:關於JAVA

最近有個任務,需要遠程起調Windows64服務器下的程序,那麼需要在Windows服務器中注入一個deamon服務,都知道Linux環境做成後台服務非常簡單,nohup &很快能解決問題,但Windows環境總是多重磨難。

一開始我先問了個朋友,他回答是沒做成服務,是把寫個Pathon包在Java外面,然後編譯成exe,在啟動中加入,我一聽覺得有些麻煩,還需要繞一圈才能起調。
先搜Java Windows service, 推薦首選Wrapper,並且大名鼎鼎的ActiveMQ也是用的他做的服務,經過驗證,配置很簡單,copy wrapper.exe, wrapper.dll, wrapper.jar到自己的目錄,並配置一個wrapper.conf, 測試。

  1. wrapper.exe -c wrapper.conf

發現有問題,需要一個licence key,需要購買。

也許還有方法去破解,不過看了一個老外說wrapper對Windows64位並不免費,並推薦Procrun之後,決定轉到這一陣地,加上大名鼎鼎的Tomcat也是用它做的服務。整個配置如下:

1.下載prunsrv

http://archive.apache.org/dist/commons/daemon/binarIEs/Windows/

下載commons-daemon-1.0.8-bin-Windows.zip

網上找這個不容易,後來才在commons-daemon-1.0.8-bin-Windows.zip裡面找到這個,一般會找到http://commons.apache.org/daemon/download_daemon.CGI,這裡面並沒有prunsrv.exe

解包後,64位機器用amd64/prunsrv.exe

2.解壓後復制文件

a. copy commons-daemon-1.0.8-bin-Windows/amd64/prunsrv.exe to your app path

這是做服務的執行程序

b. copy commons-daemon-1.0.8-bin-Windows/prunmgr.exe 並改名 yourappname.exe

監控服務配置及運行的程序

3.寫兩個腳本

a.一個安裝bat

  1. @echo off
  2. set LIB_HOME=******
  3. set APP_HOME=******
  4. %APP_HOME%\prunsrv.exe //IS//StartService --DisplayName="Start Service" --Description="Start a server." ^
  5. --Install=%APP_HOME%\prunsrv.exe --Jvm=%Java_HOME%\jre\bin\server\jvm.dll --JvmMs=256 --JvmMx=1024 ^
  6. --StartMode=jvm --Startup=auto --StopMode=jvm --StartClass= --StartParams= ^
  7. --Classpath=%LIB_HOME%\*.jar; ^
  8. --LogPath= --LogPrefix=

^是Windows命令的折行符,為了避免在一行中寫過長的命令。(Linux 是\)

在DOS環境下執行這個腳本,執行後

這樣可以在控制面板-->管理工具-->服務裡面可以看到名稱為StartService的服務

注意:--install=後面不要省%APP_HOME%\,不然會報告文件找不到

b.寫一個uninstall腳本

  1. @echo off
  2. set APP_HOME=******
  3. %APP_HOME%\prunsrv.exe //DS//StartService

這個可以卸掉install的服務

c.更詳細的配置文檔可以看apache文檔

http://commons.apache.org/daemon/procrun.Html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved