Java程序注册为Windows系统服务

Posted pp_crz_coder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java程序注册为Windows系统服务相关的知识,希望对你有一定的参考价值。

  前段时间,总监提出将数据库中的数据通过接口发送给客户方。需要将Java程序注册为Windows系统服务,定时传送数据。总监提出用.NET写一个系统服务,将数据传送给客户是个不错的解决办法,出于对.NET了解甚少的无奈,没有选择这个解决方案。费了九牛二虎之力,终于找到了如何将Java程序注册为Windows系统服务。

  话不多说,直接上方案:

  一、下载第三方工具:Windows Service Wrapper(下载地址:https://github.com/kohsuke/winsw/relases

  下载WSW:

  

  二、下载好该.exe文件后,还需要一个.xml配置文件配合使用。注意:该.exe文件和.xml文件的文件名应保持一致:

  

  如何配置SendMessageToCustomer.xml文件?信息如下:

 1 <service>
 2   <!-- 该服务的唯一标识 -->
 3   <id>SendMessageToCustomer</id>
 4   <!-- 注册为系统服务的名称 -->
 5   <name>SendMessageToCustomer</name>
 6   <!-- 对服务的描述 -->
 7   <description>Send the data to customer</description>
 8   <!-- 将java程序添加到系统服务 -->
 9   <executable>java</executable>
10   <!-- 执行的参数 -->
11   <arguments>-jar "SendMessageToCustomer.jar"</arguments>
12   <!-- 日志模式 -->
13   <logmode>rotate</logmode>
14 </service>

  三、将下载好的WinSW.NET2.exe修改为SendMessageToCustomer.exe。并将SendMessageToCustomer.exe、SendMessageToCustomer.xml和打好的jar包SendMessageToCustomer.jar放在同一个目录下。

  四、利用管理员权限运行cmd,进入该目录,执行SendMessageToCustomer.exe install,将该jar程序注册为Windows系统服务。打开服务页面,可以发现:

  

  在服务中多了一个SendMessageToCustomer的服务,打开该服务并执行启动。该服务即可正常执行了。

 

  

 

  

 

  

 

以上是关于Java程序注册为Windows系统服务的主要内容,如果未能解决你的问题,请参考以下文章

将java程序注册成windows服务自启动并异常退出自动重启

将java程序注册成windows服务自启动并异常退出自动重启

nginx 注册为服务

Windows Sever 通过winSW注册服务后,服务被系统强制中断的服务属性设置问题

Redis 注册为系统服务,修改账号密码

将Spring Boot应用程序注册成为系统服务