🔥 Java Solon v3.7.2, v3.6.5, v3.5.9 发布(支持 LTS)
Solon 框架!(也称 OponSolon)
Solon 是新一代,Java 企业级应用开发框架。从零开始构建(No Java-EE),有灵活的接口规范与开放生态。采用商用友好的 Apache 2.0 开源协议,是“杭州无耳科技有限公司”开源的根级项目,是 Java 应用开发的生态基座(可替换美国博通公司的 Spring 生态)。
- 追求: 快速、小巧、简洁
- 提倡: 克制、高效、开放
7年开源时间,累计代码提交1.6万次 ,近半年下载量1200万次。
- 有透明可预期的《版本发布与长期支持计划(LTS)》
- 有“【社区交流】”和“【企业服务】”双重技术支持
同时支持运行时环境(不基于 java-ee 构建,所以可以同时兼容):
- java8, java11, java17, java21, java25
有什么特点(相对 Java Spring 方案)?
Solon 对国产算力非常友好,对 cpu 和 memory 的需求远低于同类方案。
| 特点 | 描述 |
|---|---|
| 更高的计算性价比 | 并发高 700%;内存省 50% |
| 更快的开发效率 | 代码少;入门简单;启动(或调试重启)快 10倍 |
| 更好的生产与部署体验 | 打包小 90% |
| 更大的兼容范围 | 非 java-ee 架构;同时支持 java8 ~ java25,graalvm native image |
最新的 techempower (第三方知名测试平台)测试数据:
- https://www.techempower.com/benchmarks/#hw=ph&test=json§ion=data-r23
- https://www.techempower.com/benchmarks/#hw=ph&test=plaintext§ion=data-r23
项目架构示意图(全场景应用开发支持)
v3.7.2 更新说明
- 引入 jspecify 的
@Nullable,@NonNull注解 - 新增 resilience4j-solon-cloud-plugin 插件
- 新增 solon-cloud-gateway websocket 协议代理支持
- 新增 solon 启动扫描类索引机制(由 solon aot 构建时自动生成)
- 新增 aot 构建配置(在 native 基础上去除 graalvm.buildtools),任意 jdk 版本可用
- 添加 solon RunUtil.io(),timer() 方便响应式使用
- 添加 solon 启动资源索引机制(通过 aot 实现)
- 添加 solon-rx Completable:doOnErrorResume 方法
- 添加 solon-rx Completable:subscribeOn, delay 方法,方便同步io对接
- 添加 solon-net WebSocket:colse(code,reason) 方法及相关适配
- 添加 solon-net-httputils HttpResponse:headerMap 方法
- 添加 solon-data solon.dataSources 的配置提示
- 添加 solon-web-staticfiles
solon.mime.mapping配置支持(将替代 solon.mime) - 优化 solon 路由匹配规则,原3个优先级升为5优先级(更细)
- 优化 solon AppContext:beanScan 改为先加载再分批处理(确保配置类先处理)
- 优化 solon AppContext:startInjectReview 去掉 stream 写法(减少中转,提升性能)
- 优化 solon-logging 初始化处理,避免二次加载文件配置
- 优化 solon 启动性能(提升 10% 到 30%)
- 优化 solon-serve-vertx websocket 适配,避免与 solon-cloud-gateway 的 ws 代理起冲突
- 调整 solon 编译配置荐 maven.compiler.source,target 改为 release
- 调整 solon-serve-vertx 去除内部对象 VertxHolder(没地方用到了)
- 调整 solon-serialization AbstractStringEntityConverter string 类型直接输出(不序列化)
- 调整 solon ChainManager:getInterceptorNodes,addInterceptor,addInterceptorIfAbsent,removeInterceptor 恢复旧方法并标为弃用
- 修复 nami-coder-snack4 插件元数据配置失效问题(v3.7.0 出现的)
- 修复 solon-rx Completable:doOnError 会中断传递的问题
- 修复 solon-server-vertx VxWebSocketImpl:remoteAddress 转换失败的问题
- 修复 solon-scheduling-simple 不能识别:
zone=+08配置问题 - eggg 升为 1.0.8
- snack4 升为 4.0.14
v3.6.5 更新说明
- 添加 solon RunUtil.io(),timer() 方便响应式使用
- 修复 solon-rx Completable:doOnError 会中断传递的问题
- 修复 solon-server-vertx VxWebSocketImpl:remoteAddress 转换失败的问题
- 修复 solon-scheduling-simple 不能识别:
zone=+08配置问题 - snack4 升为 4.0.14
v3.5.9 更新说明
- 添加 solon RunUtil.io(),timer() 方便响应式使用
- 修复 solon-rx Completable:doOnError 会中断传递的问题
- 修复 solon-server-vertx VxWebSocketImpl:remoteAddress 转换失败的问题
- 修复 solon-scheduling-simple 不能识别:
zone=+08配置问题
项目仓库地址?
- gitee:https://gitee.com/opensolon/solon
- gitcode: https://gitcode.com/opensolon/solon
- github:https://github.com/opensolon/solon
官网?
