首页 > 编程语言 > Java Solon v2.7.6 发布

Java Solon v2.7.6 发布

时间:2024-05-15 20:42:34浏览次数:25  
标签:Java v2.7 boot solon 支持 添加 Solon net

Java Solon 是什么框架?

Java “新的”应用开发框架。开放原子开源基金会,孵化项目。从零开始构建(非 java-ee 架构),有灵活的接口规范与开放生态。

  • 追求: 更快、更小、更简单
  • 提倡: 克制、简洁、高效、开放、生态

有什么特点?

更高的计算性价比:

  • 并发高 2~ 3 倍;内存省 50%

更快的开发效率:

  • 内核小,入门快;调试重启快 5 ~ 10 倍

更好的生产与部署体验:

  • 打包小 50% ~ 90%;镜像拦取快,启动快(5 ~ 10 倍)

更大的运行时兼容范围:

  • 非 java-ee 架构;同时支持 java8 ~ java22

最近更新了什么?

  • 新增 solon-docs-openapi2-javadoc 插件
  • 新增 solon.serialization.properties 插件(支持 ?a.b=1 prop 风格的参数)
  • 添加 solon.boot.jetty 原生编译支持
  • 添加 solon.boot.undertow 原生编译支持
  • 添加 solon 对 classpath*: 表达式支持(兼容旧的习惯)
  • 添加 solon Utils:pid 方法(方便获取进程号)
  • 添加 solon.data TranUtils:getDataSourceProxy 方法
  • 添加 solon.cloud CloudProps:getNamespace 方法,允许每个中间件有自己 namespace 配置
  • 添加 solon.net WebSocketListener::onPing,onPong 方法,允许获得 ping/pong 的监听
  • 添加 solon.net WebSocketListenerSupplier 接口,简化 ws 扩展适配
  • 添加 solon.validation 校验出错的结果里带上当前校验的名称(该名称是当前校验的参数名称或者是实体对象字段名称)
  • 添加 nami json 解码器,对普通 string 的支持(如果返回类型为 string ,则解码失败时以普通 string 返回)
  • 添加 solon.config.load 对资源表达式的支持(例:config/*.yml
  • 添加 solon.boot.smarthttp 对参数 key 的 urlDecode 处理
  • 优化 solon.net ToSocketdWebSocketListener 防止 websocket 恶意空连
  • 优化 非 solon 测试环境下,日志打印添加 pid 显示支持
  • 优化 ResourceUtil 扫描类或资源的能力,增加支持 *Mapper 表达式
  • 优化 Aot 时的函数注册处理(修复 原生运行时组件代理失败的问题)
  • 优化 Bean 集合的注入处理
  • 优化 StaticResourceHandler 对静态资源的压缩支持,改为先查找压缩文件
  • 修复 solon.boot.undertow 的 ws 适配在 window 下异常关闭处理时,无法触发 onClose 事件的问题
  • 修复 solon.boot.websocket.netty 接收二进制码时出错的问题
  • 修复 nami 在请求参数为空时被转换成GET操作的问题
  • 修复 solon.docs.openapi2 没有同步 operation.security 的问题。
  • 调整 solon.net websocket 没有路由记录时,将自动关闭(更安全)
  • 调整 solon Condition::onMissingBean 标为弃用
  • redisx 升为 1.6.3
  • fastjson2 升为 2.0.49
  • wood 升为 1.2.9
  • mybatis-flex 升为 1.8.8
  • snack3 升为 3.2.95
  • socket.d 升为 2.4.14

项目仓库地址?

官网?

标签:Java,v2.7,boot,solon,支持,添加,Solon,net
From: https://www.cnblogs.com/noear/p/18194663

相关文章

  • Java-SSM-Day03 SpringFramework实战指南(二)
    4.2.2实验二:组件(Bean)依赖注入配置(DI)1.目标:通过配置文件,实现IoC容器中Bean之间的引用(依赖注入的DI配置)主要涉及注入场景:基于构造函数的依赖注入和基于Setter的依赖注入。3.基于构造函数的依赖注入(单个构造参数)基于构造函数的DI是通过容器调用具有多个参数的构......
  • javascript 将变量值作为对象属性 获取对象对应的值
      test(){letform={bar_rule_txt:'{spu}-{master_attr_value}-{slave_attr_alias}',bar_rule_result:'',spu:'JPK1575G',master_attr_value:'黑色',master......
  • JavaScript Object valueOf & toString All In One
    JavaScriptObjectvalueOf&toStringAllInOneclassArrayWrapper{arr:number[];constructor(nums:number[]){this.arr=nums;}//✅改写Object内置方法valueOf,返回一个number整数//❓object相加(本质上是object序列化后的string......
  • Java把List集合转成树形结构
     代码如下:privatestatic<T,K>List<T>listToTree(List<T>list,Predicate<T>isTop,Function<?superT,?extendsK>getId,Function<?superT,?extendsK>getParentId,BiConsumer<T,List<T>>setChilds){......
  • 用javax.ws.rs.client.Invocation queryParam 执行url中带参数的请求
    来自于百度AI,为了实际需要,改成我自己的环境。importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;importorg.apache.commons.lang3.StringUtils;importorg.glassfish.jersey.client.ClientConfig;importorg.glassfish.jersey.client......
  • 基于Java网络书店商城设计实现(源码+lw+部署文档+讲解等)
    系统介绍:随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于网络书店商城当然也不能排除在外,随着网络技术的不断成熟,带动了网络书店商城,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。这种个性化的平台特......
  • 【java】【集合类】ArrayList扩容机制
    扩容规则1.ArrayList()无参构造扩容2.ArrayList(intinitialCapacity)扩容3.publicArrayList(Collection<?extendsE>c)扩容4.add(Objecto)扩容5.addAll(Collectionc)扩容要注意的是,以下所有代码中用反射方式来更直观地反映ArrayList的扩容特征,但从JDK9由于模......
  • docker启动java容器报错unable to allocate file descriptor table - out of memory
    问题:启动java进程报错{"log":"libraryinitializationfailed-unabletoallocatefiledescriptortable-outofmemory","stream":"stderr","time":"2024-05-15T06:27:14.681052443Z"}原因:LimitNOFILE=infinity......
  • Java-线程-synchronized
    0.背景文章目录层级较多,参考我这篇文章来进行展开,方便阅读:博客园SimpleMemory主题如何浮动目录显示参考文章:synchronized底层monitor原理synchronized的底层是基于Java的监视器monitor的。在Java中,monitor(监视器)是用来实现线程同步的一种基本机制。它是一个控制结构,内置......
  • 【Elasticsearch】系统已经配置了JAVA_HOME,ElasticSearch源码还是操作gradle失败(JAVA_
    先看下报错内容吧,如下:FAILURE:Buildcompletedwith2failures.1:Taskfailedwithanexception.-----------*Where:Buildfile'/Users/liubolun/IdeaProjects/elasticsearch/benchmarks/build.gradle'line:20*Whatwentwrong:Aproblemoccurredevalu......