Java教程

如何把java包部署成windows service

本文主要是介绍如何把java包部署成windows service,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

        用springboot 开发了一个定时服务工具,每天在后台定时处理数据,暂时运行在Windows系统环境下。所以为了确保注销系统账户后,不关闭此程序,就需要配置成Windows Service。
        spring官方推荐使用winsw来把springboot 项目配置为windows service,优点是简单,上手快,不需要任何开发,仅需要修改配置文件即可,并且是开源的。真是java开发者的福音。
spring官方推介:https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/#deployment-windows
源码地址:https://github.com/winsw/winsw
网站中有使用说明,配置介绍等,在此不做赘述,仅仅列举一下操作流程和注意事项。有两种使用方式。第一种是winsw作为全局工具使用;第二种是作为与java包文件一起配套使用。下面分别介绍:

1、winsw作为全局工具使用。

    当一台服务器上部署多个windows服务时,可以使用这种方式,每个服务都使用同一个winsw.exe可执行文件,只是配置文件不同。所以每次执行命令都要带上配置文件,这样会有些麻烦。或者,仅通过命令行安装和卸载服务,开启关闭等其他操作都通过服务管理工具来操作。

2、winsw作为配套工具使用

    winws.exe文件大小18M左右(不同版本可能有所不同),就算每个windows服务复制一份,也是可行的。所以拷贝winsw.exe与java包文件,配置文件一起作为配套工具也可以。但 这要重命名winws.exe文件,且保持文件名与配置文件一致。在执行时,仅需要把winws.exe文件当成一个命令就好了,默认会带上配置文件作为参数。这样使用起来更方便,不用使用服务管理工具了。

3、使用方式

        1)创建一个文件夹,例如winServiceTest,把java包文件和winsw.exe文件都拷贝到winServiceTest中,且在文件夹中创建myapp.xml文件作为配置文件,内容如下:

<service>
  <id>myapp</id>
  <name>myapp</name>
  <description>Use winws.exe to install myapp as a windows service.</description>
  <executable>java</executable>
  <arguments>-Xrs -Xmx256m -jar  myapp.jar</arguments>
  <log mode="roll"></log>
</service>

        2)修改winsw.exe文件名为myapp.exe.

        3)通过如下命令来安装、使用、卸载windows service.

# 安装服务
myapp.exe install
# 启动服务
myapp.exe start
# 关闭服务
myapp.exe stop
# 重启服务
myapp.exe restart
# 卸载服务
myapp.exe uninstall
# 更多命令,请看官方文档。

这篇关于如何把java包部署成windows service的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!