本次发布,重点测试和验证了在 java、kotlin、groovy 三种 jvm 语言里,开箱即用的特性。并发布 Solon Initializr:

最近,与小诺开源团队合作发布了:Snowy-Solon( https://gitee.com/xiaonuoadmin/snowy-solon

  • 有用户说原来他的电脑运行 snowy ,需要50秒启动占2g内存,现在只用5秒启动占300m内存
  • 有用户说原来启动 snowy 要15秒,现在3秒多点(不同电脑表现不同)
  • 有用户说原来认为是骗人的,现在信了(指更快、更小)
  • 有用户说他们的招聘要求已标注 “熟悉 Solon 框架的优先考虑”(这是难得好的新开始)

Solon 应用开发框架的新生态包括:

  • 150 来个能力扩展插件
  • java、kotlin、groovy 三种语言开箱即用的特性
  • 官网 与 交流群
  • solon initializr
  • 用户落地的开源或商业项目

Solon 生产力价值:

  • 更快、更小。带来IT成本、运维成本下降
  • 更简单。节省人力成本

Solon 国产性:

  • Solon 在通讯框架、基础框架、能力框架,等方面提供了全国产的方案支持。(Java 不是国产?国产没对应的就没法了)

150来个生态插件,覆盖各种不同的应用开发场景:

相对于 Spring Boot 和 Spring Cloud 的项目:

  • 启动快 5 ~ 10 倍。 (更快)
  • qps 高 2~ 3 倍。 (更高)
  • 运行时内存节省 1/3 ~ 1/2。 (更少)
  • 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
  • 同时支持 jdk8, jdk11, jdk17, jdk19。

似曾相似的体验,入门更简单,迁移很方便:

@Controller
public class App {
public static void main(String[] args) {
Solon.start(App.class, args, app->{
//手写模式
app.get("/", ctx -> ctx.outputAsJson("{message:'Hello world!'}"))
});
} //注解模式
@Get
@Socket
@Mapping("/hello")
public String hello(String name) {
return String.format("Hello %s!", name);
}
}

入门探索视频(用户录制):

《bilibili - solon 入门探索》

本次更新:

  • 新增 bean-searcher-solon-plugin 插件
  • 插件 solon-maven-plugin 增加 jdk19 打包支持
  • 插件 snowflake-id-solon-cloud-plugin 增加 workId 可配置支持
  • 插件 solon.test 增加 AbstractHttpTester 类,名字比 HttpTestBase 顺眼些
  • 插件 solon.test Http 测试器 增加 http(int port) 接口,方便本机所有http端口测试(比如 mock server)
  • 插件 solon-test-junit4 增加 mockito-core 依赖,方便 mock 测试
  • 增加 手动检测是否有类存在的方式 Utils.hasClass(() -> AuthUtil.class)
  • 修复 activerecord-solon-pllugin::修复在 ActiveRecordPlugin::start 前不能注入 DbPro 的问题
  • 修复 solon.cache.redisson 默认缓存时间没有生效的问题,及缓存键头没用起来的问题
  • 调整 solon.cache.jedis 缓存键以':'为间隔
  • 调整 Props::getByParse 增加默认值支持
  • 调整 Props::getByExpr 增加默认值支持
  • 调整 Condition 注解重新规范条件属性名
  • 调整 AopContext 增加 Condition::onMissingBean 条件属性支持
  • 优化 solon.test 排除只读类成为代理类
  • 优化 Gateway 根据路由记录数量,自动切换主处理
  • 优化 http 输出长度模式 与 chunked模式 的自动切换
  • 升级 mockito 为 4.11.0
  • 升级 beetl 为 3.14.1.RELEASE
  • 升级 sqltoy 为 5.2.34
  • 升级 snack3 为 3.2.54 ,支持 kotlin data

进一步了解 Solon:

项目仓库:

Solon v2.1.4 发布。支持 java、kotlin、groovy!的更多相关文章

  1. Apache发布支持Java EE微服务的Meecrowave服务器

    Apache OpenWebBeans团队希望通过使服务器适应用户来消除复杂性.所以,该团队发布了Apache Meecrowave项目1.0版. Apache Meecrowave是一款小型服务器, ...

  2. xmake v2.5.2 发布, 支持自动拉取交叉工具链和依赖包集成

    xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能 ...

  3. Solon 1.8.3 发布,云原生微服务开发框架

    相对于 Spring Boot 和 Spring Cloud 的项目 启动快 5 - 10 倍 qps 高 2- 3 倍 运行时内存节省 1/3 ~ 1/2 打包可以缩小到 1/2 ~ 1/10(比如 ...

  4. Apache Nutch v2.3 发布,Java实现的网络爬虫

    http://www.oschina.net/news/59287/apache-nutch-2-3 Apache Nutch v2.3已经发布了,建议所有使用2.X系列的用户和开发人员升级到这个版本 ...

  5. 转:Red Hat JBoss团队发布WildFly 8,全面支持Java EE 7并包含全新的嵌入式Web服务器

    原文来自于:http://www.infoq.com/cn/news/2014/02/wildfly8-launch Red Hat的JBoss部门今天宣布WildFly 8正式发布.其前身是JBos ...

  6. Spring Framework 4.0.0发布,首次支持Java 8

    Spring项目组今天发布了Spring 框架4.0.0版本.Spring是一个开源的轻量级Java SE和Java EE开发应用框架,其目的是用于简化企业级应用程序开发. Spring框架第一个版本 ...

  7. Java RPC 框架 Solon 1.3.7 发布,增强Cloud接口能力范围

    Solon 是一个微型的Java RPC开发框架.项目从2018年启动以来,参考过大量前人作品:历时两年,4000多次的commit:内核保持0.1m的身材,超高的跑分,良好的使用体验.支持:RPC. ...

  8. Solon 1.5.29 发布,轻量级 Java 基础开发框架

    本次版本主要变化: 增加 captcha-solon-plugin 插件(提供滑块验证与选文字验证能力) 插件 sa-token-solon-plugin,升级 sa-token 为 1.26.0 插 ...

  9. Solon 1.5.67 发布,增加 GraalVm Native 支持

    Solon 已有120个生态扩展插件,此次更新主要为细节打磨: 添加 solon.extend.graalvm 插件,用于适配 graalvm native image 模式 从此,solon 进入 ...

  10. Solon 1.5.11 发布,增加国际化插件

    Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebS ...

随机推荐

  1. laravel框架部署

    每一个 Laravel 程序都会生成一个随机的 32 位长度的字符串存储在 .env 文件中的 APP_KEY 键值中, 当我们新建 Laravel 项目的时候会自动为你创建一个,只有在克隆的时候你才 ...

  2. 3.7V升压5V,3.7V转5V电路图芯片

    锂离子电池在如今是广泛应用存在我们生活中的方方面面的电子产品中.如,电子玩具,美容仪,医疗产品,智能手表,手机,笔记本,电动汽车等等非常多. 锂电池3.7V升压到5V,3.7V转5V稳压输出的电子产品 ...

  3. SpringBoot 自动装配的原理分析

    关于 SpringBoot 的自动装配功能,相信是每一个 Java 程序员天天都会用到的一个功能,但是它究竟是如何实现的呢?今天阿粉来带大家看一下. 自动装配案例 首先我们通过一个案例来看一下自动装配 ...

  4. LeetCode HOT 100:搜索旋转排序数组

    题目:33. 搜索旋转排序数组 题目描述: 一个整数数组,数组每个值都不相同,且该整数数组是一个被旋转过的数组.被旋转过的数组是指,由一个递增的数组,从某一个下标开始往后的元素,移到最开头.举个例子: ...

  5. 制作 Python Docker 镜像的最佳实践

    概述 ️Reference: 制作容器镜像的最佳实践 这篇文章是关于制作 Python Docker 容器镜像的最佳实践.(2022 年 12 月更新) 最佳实践的目的一方面是为了减小镜像体积,提升 ...

  6. [数据结构]单向链表及其基本操作(C语言)

    单向链表 什么是单向链表 链表是一种物理储存单元上非连续.非顺序的储存结构.它由一系列结点(链表中每一个元素称为结点)组成,结点可动态生成.每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存 ...

  7. 使用java代码调用rabbitmq接口进行新增编辑mq用户、虚拟机vhost、动态创建交换机exchange、队列queue以及设置权限,绑定vhost与exchange等操作

    使用java代码操作rabbitmq时,首先需要一个有创建用户等权限的管理员账号,需要在rabbitmq的后台管理页面手动创建这个账号,系统推荐的这几个tag可以让账号有rabbitmq后台管理页面的 ...

  8. Java中Elasticsearch 实现分页方式(三种方式)

    目录 ES 简介 ES 的特点: 一.from + size 浅分页 二.scroll 深分页 scroll删除 三.search_after 深分页 ES 简介 Elasticsearch 是一个基 ...

  9. shell端口监听异常邮箱告警

    业务场景:应用发布监听服务是否正常启动,因为服务器资源不够上不了prometheus.grafana,所以写的shell脚本监听.此脚本适用于初创公司及小微企业使用. 准备工作 除了shell脚本这里 ...

  10. [数据结构]Dijkstra算法求单源最短路径

    概念 求带权有向图中某个源点到其余各个顶点的最短路径,最常用的是Dijkstra算法.该算法设置一个集合S记录已求得的最短路径的顶点,可用一个数组s[]来实现,初始化为0,当s[Vi]=1时表示将顶点 ...