SpringBoot Windows 自启动 - 通过 Windows Service 服务实现

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: SpringBoot Windows 自启动 - 通过 Windows Service 服务实现

Windows Service 服务中,不能访问挂载目录(网络映射盘)

SpringBoot 在Windows运行时,有个黑窗体,容易被不小心选中或关闭,或者服务器重启后,不能自动运行,注册为 Windows Service服务 可实现 SpringBoot 项目在Windows 中随系统自启动。也不用担心被关闭

下载 WinSW

https://github.com/winsw/winsw/releases

创建运行目录

创建目录,将有关文件放入目录下,

将 WinSW-x64.exe 重命名为 自己的服务名,如 his-service.exe

如下图:

his-service.xml

<?xml version="1.0" encoding="UTF-8"?>
<service>
  <!-- 服务ID Windows 服务唯一标识 -->
  <id>his-service</id>
  <!-- 服务名称 -->
  <name>his-service</name>
  <!-- 服务描述 -->
  <description>HIS 接口同步服务</description>
  <!-- jar包运行参数,如果没设JAVA_HOME,指定运行程序的jdk位置 C:\Program Files\Java\jdk1.8.0_251\bin\java.exe-->
  <executable>java</executable>
  <!-- -jar之后是jar包名称 -->
  <arguments>  -Xms1024m -Xmx2048m -Dfile.encoding=utf-8  -Dloader.path=D:\HisApi-lib -jar his-service.jar  --server.port=22586 --spring.profiles.active=dev </arguments>
  <!-- 日志配置 -->
  <logpath>D:\HIS\logs</logpath>
  <!-- 日志模式,默认为append追加模型,rotate为旋转模式-->
  <logmode>rotate</logmode>
</service>
  • executable:启动可执行文件的全路径,如果配置环境变量,则可以简写,所有这里填写Java
  • arguments:命令执行的参数
  • logpath:配置日志路径
  • logmode:日志输出模式,默认为append,官方文档
  • append:(追加模式,其特点是将日志文件全部输出在一个文件中,这个文件可能会越来越大。
  • rotate:(旋转模式,推荐)当日志文件大小达到10兆(默认值),winsw会将日志重新输出到另外一份日志文件,最多保留8个(默认值)。
  • reset:(重置模式)每次重启服务都会重置日志文件。
  • none:(忽略模式)几乎不会生成日志文件。

安装服务

CMD(管理员模式)

D:\HIS>his-service.exe install

D:\HIS>services.msc 安装成功后到 服务中,找到对应的服务,右击启动

更新服务

  • 停止服务
  • 替换目录下的jar文件
  • 启动服务

删除服务

D:\HIS>sc delete his-service

注意

his-service 替换成自己的应用服务名


同类产品有:NSSM 使用介绍:

NSSM 将.NetCore 做成 Windows 服务 - JAVA 同理

NSSM 将jar包安装为windows服务-bat启动方式

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
NoSQL Redis Windows
windows服务器重装系统之后,Redis服务如何恢复?
windows服务器重装系统之后,Redis服务如何恢复?
60 6
|
10天前
|
JSON Java 网络架构
elasticsearch学习四:使用springboot整合 rest 进行搭建elasticsearch服务
这篇文章介绍了如何使用Spring Boot整合REST方式来搭建和操作Elasticsearch服务。
74 4
elasticsearch学习四:使用springboot整合 rest 进行搭建elasticsearch服务
|
13天前
|
边缘计算 安全 网络安全
|
13天前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
61 9
|
10天前
|
监控 Dubbo Java
dubbo学习三:springboot整合dubbo+zookeeper,并使用dubbo管理界面监控服务是否注册到zookeeper上。
这篇文章详细介绍了如何将Spring Boot与Dubbo和Zookeeper整合,并通过Dubbo管理界面监控服务注册情况。
21 0
dubbo学习三:springboot整合dubbo+zookeeper,并使用dubbo管理界面监控服务是否注册到zookeeper上。
|
10天前
|
自然语言处理 Java Maven
elasticsearch学习二:使用springboot整合TransportClient 进行搭建elasticsearch服务
这篇博客介绍了如何使用Spring Boot整合TransportClient搭建Elasticsearch服务,包括项目创建、Maven依赖、业务代码和测试示例。
34 0
elasticsearch学习二:使用springboot整合TransportClient 进行搭建elasticsearch服务
|
1月前
|
缓存 前端开发 Java
springboot 的单体服务 字典参数转译
本文介绍了如何在Spring Boot项目中使用缓存来管理字典参数,并确保前后端数据一致性。首先,通过`@EnableCaching`启用缓存功能,接着创建一个自定义的字典缓存类`DicCache`。然后,通过配置类将`DicCache`添加到`cacheManager`中。此外,对字典服务进行改造,使用`@CachePut`和`@CacheEvict`注解保证数据一致性。最后,实现自定义注解`@DicSerializer`和序列化处理类`DictSerializerHandel`,用于在序列化过程中自动转换字典值。通过这种方式,可最小化代码改动并提高系统性能。
springboot 的单体服务 字典参数转译
|
16天前
|
应用服务中间件 Apache Windows
免安装版的Tomcat注册为windows服务
免安装版的Tomcat注册为windows服务
25 3
|
16天前
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
22 1
|
17天前
|
Java Spring 容器
Springboot3.2.1搞定了类Service和bean注解同名同类型问题修复
这篇文章讨论了在Spring Boot 3.2.1版本中,同名同类型的bean和@Service注解类之间冲突的问题得到了解决,之前版本中同名bean会相互覆盖,但不会在启动时报错,而在配置文件中设置`spring.main.allow-bean-definition-overriding=true`可以解决这个问题。
51 0
Springboot3.2.1搞定了类Service和bean注解同名同类型问题修复