一、前言
KoTime v2.2.8新增了热更新功能,可以简单的通过页面操作实现代码的热部署,这样一些简单代码的修改就不需要重新部署,毕竟挺累的!
下面介绍一下使用方式.
二、使用方式
2.1 添加依赖
添加v2.2.8的依赖即可,如果项目中没有引入邮件相关的依赖,启动会报错,此时需要加入spring-boot-starter-mail
<dependency>
<groupId>cn.langpy</groupId>
<artifactId>ko-time</artifactId>
<version>2.2.9</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2.2 配置切面范围
切面范围需要包括你想检测的调用链路范围
ko-time.pointcut=execution(public * com.huoyo..*.*(..))
配置完以后启动项目测试一下:
访问 /koTime ,就能看到热更新的菜单栏:
2.3 更新代码
注意:该功能基于 jvm attach api 不支持在类中新增方法或者属性后进行热更新,仅支持方法内部的代码更改
假设线上代码为:
package com.huoyo.demo.controller;
public class IndexController{
public static void test(MethodNode current) {
System.out.print("测试方法");
}
}
修改以后:
package com.huoyo.demo.controller;
public class IndexController{
public static void test(MethodNode current) {
System.out.print("查看参数:"+current);
System.out.print("测试方法");
System.out.print("运行到这里");
}
}
2.4 编译
依次点击maven clean和maven compile:
2.5 上传代码
打开KoTime页面,在target/classes目录下选择编译好的要修改的类文件:
然后填写类的全路径,确定即可:
三、总结
以上就是KoTime的热更新功能,想了解更多详情请参考KoTime文档