有个程序,需要开机就启动,于是想做成windows的服务,发现网上关于这个的很少,都是讲怎么转换的,这里给个简单的例子,代码如下。通过测试。程序编译成jar后,用exe4j生成exe文件,有个选项,生成service程序。日志文件和配置文件没有影响,一样使用,界面就不知道了,我是去掉了,输出信息都放到日志文件了。
package com.main; import org.apache.log4j.Logger; public class Start { private static Thread thread=null; private static Logger logger=Logger.getLogger(Start.class); /** * 退出方法 * @param args */ public static void systemExit(String [] args){ System.out.println("System exit."); thread.interrupt(); logger.info("System exit."); } /** * @param args */ public static void main(String[] args) { System.out.println("Start"); thread=new Thread(new Service()); thread.start(); logger.info("Thread Start."); } } package com.main; import org.apache.log4j.Logger; public class Service implements Runnable{ private static Logger logger=Logger.getLogger(Service.class); public void run() { while(true){ System.out.println("running...."); logger.info("running...."); try { Thread.sleep(6*1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }
本文提供了一个简单的Java程序示例,演示如何创建一个能在Windows系统启动时自动运行的服务。程序利用多线程技术实现后台持续运行,并通过日志记录运行状态。
1033

被折叠的 条评论
为什么被折叠?



