springboot 停止
因springboot内嵌tomcat或jetty使得我们没法去操作服务:
因此,常常是服务起来后,要重启时会端口占用,我们只能无情的kill掉端口。
不过spring也设置有配置停止的请求:
Application.properties中添加:
endpoints.shutdown.enabled=true
endpoints.shutdown.sensitive=false
在pom.xml中添加:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
此时,需要停止服务时,只需要在网页上以post的形式请求:
http://ip:port/shutdown
也可通过控制台:
>curl -X POST http://127.0.0.1:8081/shutdown
最后结果为: {"message":"Shutting down, bye..."}
以上的停止方式不安全,会导致任何人都可以进行操作。因此需要添加安全限制。
endpoints.shutdown.enabled=true
endpoints.shutdown.sensitive=true
endpoints.shutdown.path=shutdown
security.user.name=root
security.user.password=denny#
management.security.role=SUPERUSER
management.context-path=/manage
#management.port=
#management.address=192.168.204.21
在pom.xml中添加security的服务:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
springboot 停止的更多相关文章
- (三)SpringBoot停止服务的方法
SpringBoot停止服务的方法 第一种:actuator 第二种:context 第三种:进程号 第四种:SpringApplication.exit() 第五种:自定义Controller Sp ...
- 关于Thymeleaf无法取值问题
SpringBoot2.7以前的版本在获取model中数据的时候不需要注释,2.7以后的版本需要加注释,它无法直接取存在model中的数据,不加注释的时候会爆红但是可以正常使用,这个注释的含义就是指定 ...
- 优雅的启动、停止、重启你的SpringBoot项目
前言 你是如何启动.关闭你的SpringBoot项目的?还是使用java -jar xxxx.jar启动? 还在用ps -ef找到你的pid去kill你的应用吗? 让我们来看看还有什么更加优雅的一键启 ...
- SpringBoot系列: 如何优雅停止服务
============================背景============================在系统生命周期中, 免不了要做升级部署, 对于关键服务, 我们应该能做到不停服务完成 ...
- Linux编辑启动停止重启springboot jar包脚本
springboot的配置文件中,配置文件的名字都有各自的意义跟用途 dev 开发环境 prod 生产环境(默认) test 测试环境 加载指定配置文件 --spring.profiles.activ ...
- SpringBoot_01_正确、安全地停止SpringBoot应用服务
二.参考资料 1.正确.安全地停止SpringBoot应用服务
- Springboot 优雅停止服务的几种方法
在使用Springboot的时候,都要涉及到服务的停止和启动,当我们停止服务的时候,很多时候大家都是kill -9 直接把程序进程杀掉,这样程序不会执行优雅的关闭.而且一些没有执行完的程序就会直接退出 ...
- SpringBoot项目快速启动停止脚本
SpringBoot项目快速启动停止脚本 1.在jar包同级目录下,创建 app.sh #!/bin/bash appName=`ls|grep .jar$` if [ -z $appName ] t ...
- SpringBoot整合quartz实现动态启动,停止定时任务功能
注意:这个方法当程序重启之后会失效,所以必须将定时任务持久化到数据库,然后程序启动的时候重新把数据库的定时任务加载到quartz中 springboot程序启动初始化代码参考:https://www. ...
随机推荐
- 廖雪峰Java2面向对象编程-5包和classpath-4classpath和jar
1.classpath 1.1classpath定义 classpath是一个环境变量 classpath指示JVM如何搜索class classpath设置的搜索路径与操作系统相关 * window ...
- mybatis 整合spring之mapperLocations配置的问题(转)
以防忘记,收集一下别人的文章吧 https://www.cnblogs.com/1xin1yi/p/7373739.html 今天尝试spring整合mybatis时遇到这么一个问题,就是在配置sql ...
- Zabbix 创建触发器
#1 配置 主机名10.0.0.33 触发器 点击创建触发器 #2 #4 点击添加 #触发器添加完毕
- jvm感知docker容器参数
docker中的jvm检测到的是宿主机的内存信息,它无法感知容器的资源上限,这样可能会导致意外的情况. -m参数用于限制容器使用内存的大小,超过大小时会被OOMKilled. -Xmx: 默认为物理 ...
- echo() print() printf() print_r() 的区别
echo是一个语言结构而非函数,因此它无法被变量函数调用, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print() 只能打印出简单类型变量的值(如int ...
- SqlServer全表遍历
DECLARE @temp TABLE ( , ) , ) ) DECLARE @tempId INT , ) INSERT INTO @temp VALUES ( 'a' ) INSERT INTO ...
- [UE4]打包EXE
Building configuration 1.Development:开发模式.不会压缩文件 2.Shipping,成品模式.移动版本会自动压缩文件
- Go语言 数据类型,流程控制
Go语言 数据类型,流程控制 人生苦短,Let's Go ! package main // 必须要有一个main包 import "fmt" func main() { fmt. ...
- centos7 下安装mysql 关键步骤
#wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 5.7版本下 ...
- kafka producer实例
1. 定义要发送的消息User POJO package lenmom.kafkaproducer; public class User { public String name; public in ...