Jboot 3.1.x 主要更新如下:
一:RPC 完全重构
Jboot 3.1.x 对 RPC 进行了完全重构,在配置方便需要变更才能正常使用,API 没有变,所有可以平滑升级到 Jboot 3.1.x ,虽然 API 没有改变,但是实现发送了彻底的改变。
对于 Dubbo,在 2.7.x 下新增了很多功能,比如元数据中心、配置中心等功能,Jboot 进行重构后,支持对 Dubbo 的所有内容进行配置,同时支持单个 Application 下有多注册中心、多服务协议等支持。配置上更加灵活。
二:新增门户网关
Jboot v3.1.0 还新增了门户网关,网关支持了 host、path、query等不同的条件配置,性能极高,同时支持基于 Sentinel 下的分布式限流、自定义网关拦截器等等功能。
三:分布式缓存运维支持
在很多二次缓存的分布式缓存中,比如 J2Cache、EHRedis 等,由于其一级缓存可能是内存缓存,其更新是需要依赖 MQ 或者 redis 的 Pub/Sub 来进行通知的,但是在某些极端情况下,依然会出现 MQ 通知不到导致某些节点 一级缓存无法更新的问题,Jboot 提供了可以获取所有 cacheName,并可以对其进行刷新(refresh)的功能,在某些特别极端的情况下,可以通过运维手动刷新缓存,让所有分布式缓存节点进行缓存同步。
Jboot v3.1.9 更新内容如下:
- 新增:Jboot.configValue(key,default) 方法
- 新增:JbootAppListener.onStartFinish()方法,用于不同的 Module 在 onStart 进行操作。
- 修复:当在配置文件中配置的内容为 '{' 字符开头的时候会出现 ArrayIndexOutOfBoundsException 异常的问题
- 优化:升级 Seata 到 v1.2.0 最新版本
- 优化:移除 rpc 服务暴露成功后的日志输出
- 优化:统一 JbootCron4jPlugin.addTask() 中的 deamon 参数默认为 false
- 优化:重命名 app/config/Utils 为 ConfigUtil
- 优化:重构 AnnotationUtil.get(),以便支持更加灵活的参数配置
maven 依赖:
<dependency>
<groupId>io.jboot</groupId>
<artifactId>jboot</artifactId>
<version>3.1.9</version>
</dependency>
Hello World:
@RequestMapping("/")
public class HelloworldController extends JbootController {
public void index(){
renderText("hello world");
}
public static void main(String[] args){
JbootApplication.run(args);
}
}