微服务:本地热部署



简介

在项目开发中,难免会经常修改代码来验证一些问题,如果每次修改都需要进行重新关闭、启动这样的操作会让人有点不爽,如果能实现代码的热部署就好了。

所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。通俗来讲,热部署就是在修改代码后,不需要重新启动服务器,就可以加载修改后的代码,看到修改后的效果。对于 IDEA 来说,热部署就是不需要反复的通过开始、停止来进行项目的启动,而是修改代码保存后自动加载修改后的代码。

Spring Boot 提供了热部署能力。可以使用 的方式,也可以使用 的方式来进行,二者实现方式是不同的,大致总结如下:

Spring Boot Loader:真正的热部署。

Spring Boot Devtools:重新部署来实现热部署。

这两种热部署也是本地热部署,真正的远程服务器热部署方案另有方案,这个不是今天分享的点后续牵涉到部署方案再说!今天只分享如何使用 devtools 实现 Spring Boot 项目的热部署。

spring-boot-devtools

在 IDEA 中使用 devtools 需要修改 IDEA 的设置和工程的 pom 文件,具体操作步骤如下。

1、修改pom.xml文件,增加devtools

在pom.xml文件中的dependency下增加devtools,如下:

在 build 标签下增加 配置,如果没有该项配置,devtools 不会起作用,即应用不会重启。

2、修改IDEA编译选项

在IDEA中打开 ,如下图所示:

双击Registry,出现下面弹框,如图操作,选中 即可。

4、重新启动项目

重新运行项目进行验证。

浏览器打开:http://localhost:8080/user 就可以看到效果。

修改原来的 方法和增加一个 方法,再来验证。

分别在浏览器打开:http://localhost:8080/user 和 http://localhost:8080/user2

如果你足够细心就会发现,使用 devtools 后,每次修改控制台自动的重新启动了 Spring Boot 项目,所以 devtools 是使用了重新部署的方式从而实现了热部署的功能。

注意几个问题

1、代码修改不会立即生效

随着工程越来越大,修改代码或者配置后需要稍等几秒钟(一般3s以内)就会自动重新启动工程,控制台就会看到日志的输出。

2、代码修改后控制台没有自动的重新启动工程

这个就需要按照这篇文章说的,重新检查一下如下设置:

  • pom 文件,检查一下是否把必要的配置被修改了。

改变,从你我相识开始~

微服务:本地热部署

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树服务 格(istio)ServiceMesh介绍8950 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年5月27日
下一篇 2019年5月27日

相关推荐