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程序作成服务的步骤。线程