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版本值得关注和升级。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0132
let_datasetLET数据集 基于全尺寸人形机器人 Kuavo 4 Pro 采集,涵盖多场景、多类型操作的真实世界多任务数据。面向机器人操作、移动与交互任务,支持真实环境下的可扩展机器人学习00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
AgentCPM-ReportAgentCPM-Report是由THUNLP、中国人民大学RUCBM和ModelBest联合开发的开源大语言模型智能体。它基于MiniCPM4.1 80亿参数基座模型构建,接收用户指令作为输入,可自主生成长篇报告。Python00