Solon v3.1.1 发布:全面增强的轻量级Java应用框架
Solon是一个轻量级的Java应用开发框架,它强调简单、高效和模块化设计。Solon框架提供了从Web开发到微服务架构的全套解决方案,同时保持了极低的学习曲线和资源消耗。最新发布的Solon v3.1.1版本带来了多项重要更新和功能增强,进一步提升了开发体验和系统能力。
核心框架增强
Solon框架核心在v3.1.1版本中进行了多项优化。新增了AppContext::isStarting()方法,与现有的isStarted()方法配合,可以更精确地判断应用启动状态。这对于需要在特定启动阶段执行初始化逻辑的场景特别有用。
泛型注入检测能力得到了显著提升,GenericUtil.reviewType方法现在支持更深层次的泛型类型解析。同时,框架对环境变量的配置引用取消了全大写的限制,使配置更加灵活。
线程管理方面也有所调整,Solon的执行器线程现在被设置为守护线程,这有助于应用更优雅地关闭。Props类的getListedProp方法现在会按照配置顺序输出,保证了配置处理的确定性。
新增插件生态系统
v3.1.1版本引入了多个新插件,显著扩展了Solon的功能边界:
- solon-expression:提供了表达式解析和计算能力
- solon-security-web:增强了Web应用的安全防护
- 文档处理系列:
- solon-ai-load-ppt:支持PPT/PPTX文档解析
- solon-ai-load-word:支持DOC/DOCX文档解析
- AI存储后端:
- solon-ai-repo-qdrant
- solon-ai-repo-tcvectordb
- solon-ai-repo-elasticsearch
这些新插件使Solon能够更好地支持现代应用开发中的各种需求,特别是AI相关功能的集成。
现有功能优化
Solon的多个子模块在v3.1.1中得到了显著改进:
solon-flow工作流引擎:
- 新增
ChainContext:stop()方法用于停止流程 - 添加
FlowEngine:next(Node,ChainContext)接口支持异步唤醒 - 调整了中断策略,现在只中断当前分支
- 引入了
AbstractChainDriver抽象类,并将SimpleChainDriver重命名为SolonChainDriver
solon-data数据访问:
- 新增
@Transaction注解替代原有的@Tran注解 - 修复了sqlutils模块中
as查询不生效的问题
solon-net-httputils网络工具:
- 新增
execAsEventStream方法支持SSE流式接收 - 新增
execAsTextStream方法支持文本流接收
solon-rx响应式编程:
SimpleSubscriber增加了doOnNext()控制和cancel()方法
solon-mvc Web MVC:
- 优化了内容类型处理逻辑
- 加强了
ModelAndView视图路径的安全性检查
问题修复与兼容性
v3.1.1版本修复了多个重要问题:
- 修复了
RunUtil.async异步嵌套可能卡住的问题 - 解决了solon-mvc中Object类型注入识别问题
- 修正了solon-flow排它网关必会进入默认分支的行为
- 修复了solon-ai在流式调用时function call出错的问题
- 解决了solon-boot-smarthttp在引入同类插件时的自动排除问题
- 修复了solon-cache-redisson中RedissonClientSupplier可能返回null的问题
依赖升级
Solon v3.1.1同步升级了多个核心依赖:
- java-cron升级至1.0.1
- redisx升级至1.6.11
- snack3升级至3.2.129
- socket.d升级至2.5.18
- liquor升级至1.4.0
- folkmq升级至1.7.11
- beetlsql升级至3.31-RELEASE
这些依赖升级带来了性能改进、新功能和bug修复,进一步提升了Solon生态系统的稳定性和能力。
总结
Solon v3.1.1是一个功能丰富的中期版本,在保持框架轻量级特性的同时,大幅扩展了功能边界。新增的文档处理插件和AI存储后端使Solon能够更好地支持现代应用开发需求,而核心框架和各模块的优化则提升了开发体验和系统稳定性。对于正在使用Solon或考虑采用轻量级Java框架的团队来说,v3.1.1版本值得关注和升级。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0447
源启盛夏_AtomGit暑期开发者成长计划「源启盛夏」暑期校园开发者成长计划旨在激活校园开源力量,通过积分激励、认证扶持、资源倾斜等形式,引导高校组织和开发者完成「入驻 — 建项目 — 做贡献 — 获认证 — 得资源」的完整闭环。无论你是想带领社团入驻平台的组织者,还是希望用代码贡献证明自己的开发者,都能在这里找到属于你的成长路径。Markdown00
jiuwenswarmJiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0766
Hy3Hy3 是由腾讯混元团队研发的快慢思考融合的混合专家模型,总参数量 295B,激活参数 21B,MTP 层参数 3.8B。4 月底发布 Hy3 Preview 后,我们在 50 多个业务中获得了广泛的反馈,修复了各种体验问题,进一步提升了后训练的质量和规模。今天,我们发布 Hy3。它展现出显著强于同尺寸并比肩旗舰(参数规模往往是 Hy3 的 2~5 倍)开源模型的智能水平,显著提升了在各类产品和生产力任务中的实用价值。Python00
AscendNPU-IRAscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优C++0312
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00