Solon v2.8 更新与兼容说明
兼容说明
404 和 405 等 4xx 状态的“定制”,通过 StatusException 处理(如果没有定制,不用管)。例如:
- 旧的 404 识别(比较模糊)
@Component(index = 0) //index 为顺序位(不加,则默认为0)
public class AppFilter implements Filter {
@Override
public void doFilter(Context ctx, FilterChain chain) throws Throwable {
chain.doFilter(ctx);
if(ctx.getHandled() == false){
ctx.render(Result.failure(404, "资源不存在"));
}
}
}
- 新的
SolonTest
注解默认使用 junit5,并做了简化
具体参考文档:Solon Test 开发
- 新的 404 识别(更丰富,更精准)
@Component(index = 0) //index 为顺序位(不加,则默认为0)
public class AppFilter implements Filter {
@Override
public void doFilter(Context ctx, FilterChain chain) throws Throwable {
try{
chain.doFilter(ctx);
} catch (StatusException e) {
if (e.getCode() == 404){
ctx.render(Result.failure(404, "资源不存在"));
} else if (e.getCode() == 405){
ctx.render(Result.failure(405, "资源方式不支持"));
} else if (e.getCode() == 400){
ctx.render(Result.failure(400, "请求格式或参数有问题"));
}
}
}
}
更多异常类型,可见:《Solon 开发之异常》。另一处重要变化为 JUnit5 成为默认单测方案,详见:《Solon Test 开发》
更新说明
- 新增 thrift-solon-cloud-plugin 插件
- 新增 solon.serialization.jackson.xml 插件
- 添加
@Destroy
注解(与@Init
呼应) - 添加 Serializer 接口,统一多处模块的序列化定义
- 添加 BytesSerializerRender 类,对应 StringSerializerRender
- 添加 solon.net.stomp ToStompWebSocketListener 适配 WebSocket 子协议验证
- 添加 solon.net ToSocketdWebSocketListener 适配 WebSocket 子协议验证
- 添加 graphql-solon-plugin GraphqlWebsocket 适配 WebSocket 子协议验证
- 添加 WebSocket 子协议校验支持(smarthttp,jetty,undertow,java-websocket,netty-websocket)
- 添加 应用配置键名二次引用支持
- 添加 folkmq 适配 EventLevel.instance 订阅支持
- 添加 rocketmq5 适配 EventLevel.instance 订阅支持
- 添加 solon.boot.socketd 对 ssl 配置的支持
- 添加 beetl 适配自定义 Tag 注入支持
- 添加 enjoy 适配自定义 Tag 注入支持
- 添加 StatusException 异常类型
- 调整 AuthException 改为扩展自 StatusException(之前为 SolonException)
- 调整 ValidatorException 改为扩展自 StatusException(之前为 SolonException)
- 调整 Action 参数解析异常类型为 StatusException(之前为 IllegalArgumentException)
- 调整 solon.test 默认为 junit5 并简化 SolonTest 体验(不用加 ExtendWith 了),需要 junit4 的需引入 solon-test-junit4
- 优化 CloudClient.event().newTranAndJoin() 增加 inTrans 判断
- 优化 mybatis-solon-plugin 在有 mapper 配置,但无 mapper 注册时的异常提示(原为 warn 日志提示)
- 优化 RouteSelectorExpress 的路由顺序(常量的,优于变量的)
- 优化 kafka 适配的 ack 处理
- 修复 IndexUtil:buildGatherIndex 处理字段时,会出错的问题
- snack3 升为 3.2.100
- fastjson2 升为 2.0.51
- socket.d 升为 2.5.3
- folkmq 升为 1.5.2
- wood 升为 1.2.11
- sqltoy 升为 5.6.10.jre8
- mybatis-flex 升为 1.9.1
- smarthttp 升为 1.4.2
- okhttp 升为 4.12.0
- xxl-job 升为 2.4.1
- graphql 升为 18.3