本次发布,重点测试和验证了在 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. Android Studio打开时报错if you already hava 64-bit JDK installed,define a JAVA_HOME

    出现这个问题不知道改了什么导致的,卸载了重新安装也是不行. 以及到高级设置中进行配置jdk也是无效, 解决方法为需要在路径 C:\Users\你自己的用户名\AppData\Roaming\Googl ...

  2. 关于cannot remove ‘directory': Directory not empty的解决办法

    解决方法 首先你应该使用 rm -rf 目录名 这样确保可以递归删除目录 如果出现 cannot remove 'directory': Directory not empty 报错信息,重启电脑解决 ...

  3. ArcGIS API for JS 访问浏览器提示不安全链接的服务时 如何设置

    当我们通过ArcGISServer发布了服务后,首先要在要访问的计算机上通过浏览器访问下服务是否可用.但有时候会出现不安全的标识. 如果这样的链接直接放到代码中,可能会加载失败. 代码如下. var ...

  4. [论文阅读] 颜色迁移-Linear Monge-Kantorovitch(MKL)

    [论文阅读] 颜色迁移-Linear Monge-Kantorovitch(MKL) 文章: The Linear Monge-Kantorovitch Linear Colour Mapping f ...

  5. Python:灵活的开发环境

    以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://mp.weixin.qq.com/s/WTl7BPAhX5VuK-gmHaErMg 本文大概 1667 个 ...

  6. python 异步写入文件

    # -*- coding:utf-8 -*-import asyncioimport aiofilesimport time#异步操作时,函数名前必须加上asyncasync def func1(): ...

  7. 为什么 Random.Shared 是线程安全的

    在多线程环境中使用 Random 类来生成伪随机数时,很容易出现线程安全问题.例如,当多个线程同时调用 Next 方法时,可能会出现种子被意外修改的情况,导致生成的伪随机数不符合预期. 为了避免这种情 ...

  8. uniapp开发微信小程序

    uni-app介绍(官网) uni-app是一个使用Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉 ...

  9. go语言行为(方法)的两种定义差别

    概述: go在定义方法时,有如下两种表示形式: 第一种,在实例方法被调用时,会产生值复制 func (e Employee) String() string {} 第二种,不会进行内存拷贝,所以通常情 ...

  10. [ 赛后总结 ] CSP-J 2022

    前言 今年没考好,估分 100+60+0+10=170pts ,大概能混个2=,没什么用. 这下好了,期中也砸了,已经排到全校 30 开外了,果然鱼和熊掌不可兼得,况且我双双落空,接下来怕是想搞也搞不 ...