zoukankan      html  css  js  c++  java
  • Spring Boot2.0之热部署原理

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

    原理: 实用类加载器(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修改的原因是 重启!

  • 相关阅读:
    Input标签与图片按钮水平对齐解决方法
    下载网页流
    GTD
    Eclipse 运行多个Tomcat实例
    Tomcat启动超时
    Javascript:谈谈JS的全局变量跟局部变量
    影响一生的习惯
    OpenSUSE 安装并启动Tomcat
    ExtJS实战 01——HelloWorld
    eclipse快捷键
  • 原文地址:https://www.cnblogs.com/toov5/p/9822288.html
Copyright © 2011-2022 走看看