1、下面是整個程序的功能部分:java
public class TestService { private static Thread thread=null; private static Service service = null; /** * 啓動服務方法(該方法必須有參數 String [] args) * @param args */ public static void main(String [] args) { System.out.println("啓動服務"); // 產生服務線程 service = new Service(); thread=new Thread(service); try { // 將服務線程設定爲用戶線程,以免StartService方法結束後線程退出 thread.setDaemon(false); if(!thread.isDaemon()) { System.out.println("成功設定線程爲用戶線程!"); } //啓動服務線程 thread.start(); } catch(SecurityException se) { System.out.println("線程類型設定失敗!"); } } /** * 退出服務方法(該方法必須有參數 String [] args) * @param args */ public static void StopService(String[] args) { System.out.println("中止服務"); service.setRunFlag(false); } }
public class Service implements Runnable { private boolean runFlag = true; /** * 設定服務線程運行標誌值 * @param runFlag */ public synchronized void setRunFlag(boolean runFlag) { this.runFlag = runFlag; } /** * 取得服務線程運行標誌值 * @param void */ private synchronized boolean getRunFlag() { return runFlag; } @Override public void run() { System.out.println("服務線程開始運行"); while(getRunFlag()) { Calendar cal = Calendar.getInstance(); long mis = cal.getTimeInMillis(); System.out.println("當前時間:" + mis); try { Thread.sleep(1000*10); } catch (InterruptedException e) { e.printStackTrace(); } } System.out.println("服務線程結束運行"); } }
2、整個項目須要打包生成WPDAnalysis.jar,而後咱們就能夠作咱們的window服務了。sql
第一步在http://wrapper.tanukisoftware.com/doc/english/download.jsp下載咱們的java service wrapper工具,下載後解壓。工具分32位跟64位,看本身所需。app
第二步構建你的程序工做目錄,好比我構建D:\WPDAnalysis_64。而後在目錄下建造lib,logs,bin,conf等文件夾。其實目錄名字也能夠本身隨便定義,只要最後配置正確便可。同時把你的WPDAnalysis.jar也放在D:\WPDAnalysis_64下面。jsp
第三步把解壓後的文件夾中src\bin中的文件複製到新建的bin文件夾下面。並把全部文件的in後綴去掉。同時把解壓後文件夾中bin下的wrapper.exe也放到新建的bin下。ide
第四步把解壓後的文件夾中src\conf中的文件複製到新建的conf文件夾中(最好把conf下面)。把in後綴去掉。工具
第五步把解壓後的文件夾中lib中的wrapper.jar與wrapper.dll放大新建的lib下面。同時把WPDAnalysis程序所須要的第三方jar包夜放在這裏。我這裏使用sqljdbc4.jar。測試
第六步配置wrapper.conf文件,主要配置選項以下:this
#Java的位置 wrapper.java.command=D:\Java\jdk1.6.0_31\bin\java #若是你係統已經配置了%JAVA_HOME%的環境變量,上面的就能夠不配置了。以下: #wrapper.java.command=%JAVA_HOME%/bin/java #classpath: wrapper.java.classpath.1=../WPDAnalysis.jar wrapper.java.classpath.2=../lib/wrapper.jar # Java Library Path (取決於Wrapper.DLL 或者libwrapper.so) wrapper.java.library.path.1=../lib #MAIN CLASS 此處決定了使用Java Service Wrapper的方式 wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp #你的Java應用類,我這裏是這樣子 wrapper.app.parameter.1=wpdanalysis.WPDAnalysis #服務名稱 wrapper.name=WPDAnalysis_64 #服務部署名稱,會顯示到window服務中的名稱欄 wrapper.displayname=Analysis WPD Data Into DataBase For X64 #服務的描述 wrapper.description=Analysis WPD Data Into DataBase For X64
配置之後,點擊bin文件夾下面的App.bat進行測試,若是可以在console中出現正常結果的話就代表配置正確。而後點擊InstallApp-NT.bat安裝服務,也能夠點擊UninstallApp-NT.bat卸載服務。成功安裝服務後能夠在window服務管理中看到哦。spa
以上就是java程序作成服務的步驟。線程