- Common 存放公共基础类
- HotDeploymentAgent 实现ASM热部署的工具
- HotDeploymentInjector 注入器,将ASM热部署工具注入到目标程序中
- HotDeploymentSample 基于Spring Boot的实例程序
- HotDeploymentStarter 热部署的Spring Boot Starter
- HotDeploymentWeb 用于操作热部署的后台管理系统
2.执行 测试接口, 此时接口返回 hello world
3.执行 热部署接口, 将SayService类中的方法都替换掉
4.执行 测试接口, 此时接口返回 我被干掉啦 热部署成功!
mod HotDeploymentClassLoader, 当热部署的文件夹找不到类,则往上从父类里面找;
add 程序启动的时候自动把上传的class部署到IOC容器中
add 部署的是Controller,则将url的映射注册到IOC容器中;
fix 修改单独打包,无法运行的问题;
mod 将启动时从磁盘载入部署的信息从EventStart改到RefreshEvent;
mod 重写HotDeploymentClass的equals和hashcode,当部署的路径、类名、包名一致的时候,认为是同一个对象。
add 将原对象进行缓存,方便后期的字节码回溯;
add 定义三种部署方式;
add 开启Agent的远程调用。
add add 编写Agent远程调用的全部署(REPLACE_CLASS)和部分部署模式(REPLACE_METHOD),并且通过测试。
add add 编写Agent远程调用的回滚(ROLL_BACK)模式,并且通过测试。