最近,合作适配了 Solon Native
的第一个开源项目:dromara/neutrino-proxy (Solon Native 里程碑意义!)。让我们对 Java 原生编译又起了新的希冀。总体来说:
- 适配调整完后,代码变化不太大
- 整个过程是很麻烦的。因为社区版不能调试,只能不断试(发现缺什么,就补什么配置)
Solon 是什么框架?
Java 新的生态级应用开发框架。从零开始构建,有自己的标准规范与开放生态(历时五年,具备全球第二级别的生态规模)。与其他框架相比,解决了两个重要的痛点:启动慢,费内存。
解决痛点?
由于Solon Bean容器的独特设计,不会因为扩展依赖变多而启动很慢(开发调试时,省时、爽快)!以知名开源项目“小诺”为例:
- “snowy-spring 版” 启动 15-50秒
- “snowy-solon 版” 启动3-5秒,启动内存节省1/3(有兴趣的,欢迎拉取代码体验)
相对于 Spring,有什么特点?
- 启动快 5 ~ 10 倍。 (更快)
- qps 高 2~ 3 倍。 (更高)
- 运行时内存节省 1/3 ~ 1/2。 (更少)
- 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
- 同时支持 jdk8, jdk11, jdk17, jdk21, graalvm native image
入门探索视频(用户录制):
最近更新了什么?
- 调整 solon.view 插件,默认添加请求上下文 context 对象(感谢用户建议)
- 调整 SnackActionExecutor 默认关闭 className 读取(相对更安全)
- 优化 SolonApp 构造时日志处理,避免失去样式的可能。(感谢用户建议)
- 优化 容器停止时把 Closeable 接口的 bean 也关掉(感谢用户建议)
- 优化 solon.data 事务监听 afterCommit 事件之前移除事务状态(感谢用户建议)
- 优化 属性引用表达式,当环境变量无时马上使用默认值(环境变量是启动时即决定有无)(感谢用户建议)
- 优化 mqtt-solon-cloud-plugin 重构代码,增加异步发布与并发消费模式(并改为异步接口)(感谢用户建议)
- 优化 mqtt5-solon-cloud-plugin 重构代码,增加异步发布与并发消费模式(并改为异步接口)(感谢用户建议)
- 增加 solon.aot 支持使用命令行设置 构建 native image args
- 增加 Utils::isProxyClass 接口(用于检测,是否是 solon 生成的类代理)(感谢用户建议)
- 修复 solon.boot.smarthttp 可能会两次触发 close 的问题(感谢用户反馈)
- snack3 升为 3.2.82
- sqltoy 升为 5.2.75
- mybatis-flex 升为 1.7.3
- activemq 升为 5.15.12
- sureness 升为 1.0.8
- guava 升为 32.1.3-jre
- pulsar 升为 2.11.2
- beetlsql 升为 3.26.1-RELEASE
- smarthttp 升为 1.3.5
项目仓库地址?
- gitee:https://gitee.com/noear/solon
- github:https://github.com/noear/solon