码迷,mamicode.com
首页 > 编程语言 > 详细

Spring Boot2.0之热部署原理

时间:2018-10-20 17:26:11      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:如何   factor   生产   功能   字节   实用   ips   分享图片   部署   

所谓的热部署:比如项目的热部署,就是在应用程序在不停止的情况下,实现新的部署

原理: 实用类加载器(classloader重新读取字节码文件到jvm内存)

如何纯手写一个热部署功能:

 1、监听 class文件是否发生改变  版本号、修改时间  作对比

 2、如果发生改变就用classloader进行重新读取

 

热部署要是用在生产环境,性能很差了。不安全!

热部署用在本地开发(eclipse idea)用来提高效率

Spring Boot使用 devtools做热部署

有些工具是有热部署的功能的

修改完代码---》然后按保存--》访问时候其实会重启

技术分享图片

 

 访问引发重启!

这样读到的都是新的:

package com.toov5.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import lombok.extern.slf4j.Slf4j;

@RestController
@Slf4j
public class IndexController {
    @Value("${name}")
    private String name;

    @RequestMapping("/index")
    public String index() {
        String result = "修改啊来啊";
        log.info("result:{}", result);
        return result + name;
    }

}

访问:

技术分享图片

 

 devtools修改的原因是 重启!

 

Spring Boot2.0之热部署原理

标签:如何   factor   生产   功能   字节   实用   ips   分享图片   部署   

原文地址:https://www.cnblogs.com/toov5/p/9822288.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!