Solon 1.12.4 发布

一个更现代感的 Java "生态型"应用开发框架:更快、更小、更自由。不是 Spring,没有 Servlet,也无关 JavaEE;新兴独立的开放生态 (已有150来个生态插件) 。主框架仅 0.1 MB。

相对于 Spring Boot 和 Spring Cloud 的项目:

  • 启动快 5 ~ 10 倍。 (更快)
  • qps 高 2~ 3 倍。 (更高)
  • 运行时内存节省 1/3 ~ 1/2。 (更少)
  • 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
  • 同时支持 jdk8, jdk11, jdk17, jdk19

似曾相似的体验,入门更简单:

@Controller
public class App {
    public static void main(String[] args) {
        Solon.start(App.class, args, app->{
            //手写模式
            app.get("/", ctx -> ctx.outputAsJson("{message:'Hello world!'}"))
        });
    }

    //注解模式
    @Get
    @Socket
    @Mapping("/hello")
    public String hello(@Param(defaultValue = "java") String name) {
        return String.format("Hello %s!", name);
    }
}

入门探索视频(用户录制):

本次更新:

  • 新增 solon.web.stop 插件,替代 solon.extend.stop(原 host 配置,更名为 whitelist)
  • 插件 local-solon-cloud-plugin 添加事件ACK、重试守护、自动延时、定时事件支持(无持久化,即重启数据丢失)
  • 插件 solon.scheduling 添加 @EnableAsync 注解,用于控制异步是否启用
  • 插件 solon.extend.async 标为弃用(由 solon.scheduling 替代)
  • 插件 solon.extend.retry 标为弃用
  • 插件 solon.schedule 标为弃用(由 solon.scheduling.simple 替代)
  • 增加 solon.test 对单测类的包名检测,如果无包则异常提示
  • 增加 solon.web.cors 基于路由拦截器的实现,及增强代码复用性
  • 增加 MimeType.TEXT_JSON_VALUE 值(比 APPLICATION_JSON_VALUE 简短些)
  • 增加 RunUtil 工具类,由 Util 部分接口分离
  • 调整 solon.scheduling.simple 对固定频率与固定延时的处理
  • 调整 solon.scheduling.quartz 对 name 的配置支持,及更多异常提醒
  • 调整 quatz-solon-plugin 对 name 的配置支持
  • 调整 quatz 相关适配增加 job group 的支持(使用 solon.app.name
  • 调整 solon 对包名检测的处理逻辑(保持也 solon.test 一样)
  • 调整 solon 安全停止时间比较为 3:7
  • 调整 在调整模式下才配置文件加载的打印,之前总是打印

生态架构图:

进一步了解 Solon:

项目仓库:

猜你喜欢

转载自www.oschina.net/news/225795/solon-1-12-4-released