Git Product home page Git Product logo

fasthotboot's Introduction

FastHotBoot 快速热部署

模块介绍

  • Common 存放公共基础类
  • HotDeploymentAgent 实现ASM热部署的工具
  • HotDeploymentInjector 注入器,将ASM热部署工具注入到目标程序中
  • HotDeploymentSample 基于Spring Boot的实例程序
  • HotDeploymentStarter 热部署的Spring Boot Starter
  • HotDeploymentWeb 用于操作热部署的后台管理系统

演示

1.启动HotDeploymentSample模块的演示程序

2.执行 测试接口, 此时接口返回 hello world

3.执行 热部署接口, 将SayService类中的方法都替换掉

4.执行 测试接口, 此时接口返回 我被干掉啦 热部署成功!

AMS熱部署原理

部分开发进程如下, 目前正在开发热部署的后台管理系统和部署之间数据传输的安全校验问题。

7.16

mod HotDeploymentClassLoader, 当热部署的文件夹找不到类,则往上从父类里面找;
add 程序启动的时候自动把上传的class部署到IOC容器中
add 部署的是Controller,则将url的映射注册到IOC容器中;
fix 修改单独打包,无法运行的问题;
mod 将启动时从磁盘载入部署的信息从EventStart改到RefreshEvent;
mod 重写HotDeploymentClass的equals和hashcode,当部署的路径、类名、包名一致的时候,认为是同一个对象。

8.1

add 将原对象进行缓存,方便后期的字节码回溯;
add 定义三种部署方式;
add 开启Agent的远程调用。

8.3

add add 编写Agent远程调用的全部署(REPLACE_CLASS)和部分部署模式(REPLACE_METHOD),并且通过测试。

8.4

add add 编写Agent远程调用的回滚(ROLL_BACK)模式,并且通过测试。

fasthotboot's People

Contributors

ekuieku avatar

Stargazers

鲸歌 avatar sharkz avatar MawManager avatar  avatar

Watchers

 avatar

fasthotboot's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.