一.热部署

在开发中我们修改一个Java文件后想看到效果不得不重启应用,这导致大量时间花费,我们不希望重启应用的情况下,程序可以自动部署(热部署)。

1.1 模板引擎

在SpringBoot中开发情况下禁用模板引擎的cache,页面模板改变ctrl+F9可以重新编译当前页面并生效。

1.2 Spring Loaded

Spring官方提供的热部署程序,实现修改类文件的热部署,需要下载Spring Loaded(项目地址),使用时需要添加运行时参数:-javaagent:C:/springloaded-1.2.5.RELEASE.jar-noverify

1.3  JRebel

收费的一个热部署软件,安装插件使用。

1.4  Spring Boot Devtools(推荐)

引入依赖,使用IDEA的编译或者ctrl+f9,如果用eclipse使用保存即ctrl+s即可实现热部署。

  <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>

.监控管理

通过引入spring-boot-starter-actuator,可以使用Spring Boot为我们提供的准生产环境下的应用监控和管理功能。我们可以通过HTTP、JMX,SSH协议来进行操作,自动得到审计、健康及指标信息等。

由于SpringBoot2.x版本在这一块有所变动所以需要将SpringBoot版本切换为1.5.x版本,防止版本问题影响。

2.1 引入spring-boot-starter-actuator

 <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2.2 通过http方式访问监控端点

监控和管理端点:

2.3 可进行shutdown(POST提交,此端点默认关闭)

可以通过发送"/shutdown"post请求来关闭应用。

2.3.1 开启shutdown关闭应用

endpoints.shutdown.enabled=true

2.3.2 使用postman发送post请求

2.4 定制端点信息

定制端点一般通过endpoints+端点名+属性名来设置。

修改端点id(endpoints.beans.id=mybeans),这样设置以后访问beans端点就需要访问"/mybeans"了

修改端点访问路径(endpoints.beans.path=beans)

开启远程应用关闭功能(endpoints.shutdown.enabled=true)

开启关闭端点(endpoints.beans.enabled=false)

关闭所有端点访问(endpoints.enabled=false)

修改根路径方法(management.context-path=/manage)

修改访问端点的端口(management.port=8181)

2.5 自定义HealthIndicator

访问/health端口,可以看到应用监控的监控状况。例如redis连接是否正常,如果连接地址不正确导致连接不上redis地址,健康状态就会显示down。那么如何自定义一个健康状态指示器呢?

首先,编写一个指示器 实现HealthIndicator接口,并且指示器的名字需要命名为xxxHealthIndicator并加入容器中。

@Component
public class MyHealthIndicator implements HealthIndicator {
@Override
public Health health() {
//自定义检查方法
// return Health.up().build();
return Health.down().withDetail("msg","服务异常").build();
}
}

全部编写好后,重启项目访问"/health"就可以查看该指示器了。

SpringBoot高级篇Ⅸ --- 热部署与监控管理的更多相关文章

  1. SpringBoot入门篇--热部署

    在项目的开发过程中我们难免会涉及到对代码的修改,有bug我们也需要对代码进行修改,这时候我们就需要重启服务器.但是,我们知道的是这个过程是相当的痛苦的,重启服务器涉及到了所有资源的重新加载,过程那是相 ...

  2. (40). springboot + devtools(热部署)【从零开始学Spring Boot】

    我们之前在在()Spring Boot热部署[从零开始学Spring Boot] (http://412887952-qq-com.iteye.com/blog/2291518 )讲过通过使用spri ...

  3. 【SpringBoot1.x】SpringBoot1.x 开发热部署和监控管理

    SpringBoot1.x 开发热部署和监控管理 热部署 在开发中我们修改一个 Java 文件后想看到效果不得不重启应用,这导致大量时间花费,我们希望不重启应用的情况下,程序可以自动部署(热部署). ...

  4. SpringBoot项目设置热部署

    记录一个SpringBoot 设置热部署(修改项目之后,项目自动重启)实例 POM.XML 文件 <!-- 配置springBoot项目的热部署启动 --> <dependency& ...

  5. 玩转 Springboot 2 之热部署(DevTools)

    Devtools 介绍 SpringBoot 提供了热部署的功能,那啥是热部署累?SpringBoot官方是这样说的:只要类路径上的文件发生更改,就会自动重新启动应用程序.在IDE中工作时,这可能是一 ...

  6. springboot热部署与监控

    一.热部署 添加依赖+Ctrl+F9 <dependency> <groupId>org.springframework.boot</groupId> <ar ...

  7. 基于Maven的SpringBoot项目实现热部署的两种方式

    转载:http://blog.csdn.net/tengxing007/article/details/72675168 前言 JRebel是JavaEE中比较流行的热部署插件,可快速实现热部署,节省 ...

  8. springboot之DevTools热部署的简单原理解析

    IDEA新建springboot选择DevTools springboot-devtools模块能够实现热部署,添加类.添加方法,修改配置文件,修改页面等,都能实现热部署. 原理就是重启项目,但比手动 ...

  9. springboot + devtools(热部署)

    技术介绍 devtools:是boot的一个热部署工具,当我们修改了classpath下的文件(包括类文件.属性文件.页面等)时,会重新启动应用(由于其采用的双类加载器机制,这个启动会非常快,如果发现 ...

随机推荐

  1. Vue+Element实现网页版个人简历系统

    这篇文章介绍一个使用Vue+Element实现的个人简历系统,主要用到的技术有:vue.element.css3.css定位. 作者在window10进行开发,目前只在chrome上进行过测试,没有大 ...

  2. 金蝶handler中 collection 代码片段理解

    1,AtsOverTimeBillBatchEditHandler中collection的理解 SelectorItemCollection selectors = new SelectorItemC ...

  3. mysql主从之基于mycat实现读写分离

    一 环境 1.1 结构 192.168.132.125 mycat 192.168.132.121  master 192.168.132.122  slave 主从已经配置完成 1.2 安装myca ...

  4. Iterator接口介绍(迭代器)

    第一步 第二步 第二步用while 第二步用for循环(了解) 备注:

  5. 20191031-7 beta week 1/2 Scrum立会报告+燃尽图 05

    此作业的要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/9915 git地址:https://e.coding.net/Eusti ...

  6. 跟我一起学QT_QT标准对话框_颜色选择框

    标准对话框 QT的标准对话框分为以下几种 颜色对话框 文件对话框 字体对话框 输入对话框 消息对话框 进度对话框 错误信息对话框 向导对话框 颜色对话框 首先学习的是颜色对话框颜色对话框类QColor ...

  7. 通用高效的数据修复方法:Row level repair

    导读:随着大数据的进一步发展,NoSQL 数据库系统迅速发展并得到了广泛的应用.其中,Apache Cassandra 是最广泛使用的数据库之一.对于 Cassandra 的优化是大家研究的热点,而 ...

  8. AdapterPattern(适配器模式)-----Java/.Net

    适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁.这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能. 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接 ...

  9. 使用 Python 中 re 模块对测试用例参数化,进行搜索 search、替换 sub

    自动化测试用例,如果一百个接口要在Excel写100个sheet表单,每个接口有10个字段,里面有5个都可能是变化的,需要使用参数化,先试用特定的字符进行站位,在构造参数时在进行替换占位符: 一.用力 ...

  10. python接口自动化测试-unittest-生成测试报告

    用例的管理问题解决了后,接下来要考虑的就是报告我问题了,这里生成测试报告主要用到 HTMLTestRunner.py 这个模块,下面简单介绍一下如何使用: 一.下载HTMLTestRunner下载: ...