Solon 已有120个生态扩展插件,此次更新主要为细节打磨:

  • 添加 solon.extend.graalvm 插件,用于适配 graalvm native image 模式
从此,solon 进入 graalvm native image 的世界。

感谢开发者:@馒头虫/瓢虫,近1个月时间的实验和适配。
  • 添加 detector-solon-plugin 插件,用于为健康检测,增加一批预设的探测器(可选:cpu,disk,jvm,memory,os,qps)
#提供了一批健康探测器(多个以,隔开)
#solon.health.detector: "cpu,os,qps"
solon.health.detector: "cpu"

输出示例:

#curl http://localhost:8080/healthz
{
"status": "UP",
"details": {
"cpu": {
"status": "UP",
"details": {
"ratio": 53.8
}
}
}
}
  • 添加 solon.extend.hotdev 插件
为开发过程,修改java代自动重新加载,进行尝试。
  • 插件 solon.data 的缓存注解 tags 值,支持返回数据做为模板参数
public class UserService{
/**
* 获取用户信息
*/
@Cache(tags = "user_${userId},company_bind_${.company_id}") //使用返回结果的字段:company_id
public UserDo getUser(Long userId) throws SQLException {
return userMapper.getUser(userId);
} /**
* 根据companyId批量解绑,同时清除与个企业相关的用户缓存
* @return
* @throws SQLException
*/
@CacheRemove(tags = "company_bind_${companyId}")
public int batchUnbindCompany(Long companyId) throws SQLException {
return userMapper.batchUnbindByCompanyId(companyId);
}
}
  • 插件 solon.i18n 国际化配置支持 key 级别的 默认配置(之前基于文件)
例:一个 key 在 message_cn_ZH 找不到配置,会到 message_cn 找,再没有 到 message 打
  • 插件 solon.i18n 增加过滤器,自动为上下文解析地区
  • 插件 water-solon-plugin 升级 water 2.3.2
  • 内核 @Bean 增加 index;@Component 增加 index。为特定类型增加位置支持
//例:为应用过滤器增加位置
//
@Component(index = 1)
public class AppFilterImpl implements Filter {
@Override
public void doFilter(Context ctx, FilterChain chain) throws Throwable {
chain.doFilter(ctx);
}
}
  • 内核 增加 solon.locale 配置,为系统提供默认地区配置

关于 Solon

Solon 是一个轻量的Java基础开发框架。强调,克制 + 简洁 + 开放的原则;力求,更小、更快、更自由的体验。支持:RPC、REST API、MVC、Job、Micro service、WebSocket、Socket 等多种开发模式。短小而精悍!

关于 Solon Cloud

Solon Cloud 是一系列的接口标准和配置规范,相当于DDD模式里的防腐层概念。是 Solon 的微服务架构模式开发解决方案。

快速了解 Solon 的材料:

《Solon 特性简集,相较于 Springboot 有什么区别?》

《Solon Cloud 分布式服务开发套件清单,感觉受与 Spring Cloud 的不同》

《Solon 的想法与架构笔记》

所谓更小:

内核0.1m,最小的接口开发单位0.2m(相较于 Dubbo、Springboot 的依赖包,小到可以乎略不计)

所谓更快:

本机http helloworld测试,Qps可达12万之多。可参考:《helloworld_wrk_test

所谓更自由:(代码操控自由)

// 除了注解模式之外,还可以按需手动
//
//手动获取配置(Props 为 Properties 增强版)
Props db = Solon.cfg().getProp("db"); //手动获取容器里的Bean
UserService userService = Aop.get(UserService.class); //手动监听http post请求
Solon.global().post("/user/update", x-> userService.updateById(x.paramMap())); //手动添加个RPC服务
Solon.global().add("/rpc/", HelloService.class, true); //手动获取一个RPC服务消费端
HelloService helloService = Nami.builder().create(HelloService.class); //手动为容器添加组件
Aop.wrapAndPut(DemoService.class);

附:项目地址

附:入门示例

Solon 1.5.67 发布,增加 GraalVm Native 支持的更多相关文章

  1. MWeb 1.3.7 发布!增加发布到 Wordpress 等支持 MetaWeblog API 的服务,如:Wordpress 博客、新浪博客、cnblogs、oschina。

    MWeb 1.3.7 版的新功能 增加发布到 Wordpress 等支持 Metaweblog API 的服务,目前经测试过的有: Wordpress 博客.新浪博客.cnblogs.oschina. ...

  2. Spring Boot 轻量替代框架 Solon 1.3.29 发布

    Solon 是一个微型的Java开发框架.项目2018年启动,参考过大量前人作品:内核0.1m的身材,超高的跑分,以及良好的使用体验.支持:RPC.REST API.MVC.WebSocket.Soc ...

  3. Spring Boot & Cloud 轻量替代框架 Solon 1.3.37 发布

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

  4. 对标 Spring Boot & Cloud ,轻量框架 Solon 1.4.14 发布

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

  5. 对标 Spring Boot & Cloud ,轻量框架 Solon 1.5.8 发布

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

  6. Solon 1.5.22 发布

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

  7. Solon 1.5.24 发布

    本次版本主要变化: 修复 solon.extend.sessionstate.jwt 在特定场景下会无限次解析的问题 优化 solon.extend.cors 对头信息的处理 插件 solon.boo ...

  8. Solon 1.6.6 发布,细节打磨

    Solon 已有120个生态扩展插件,此次更新主要为细节打磨: 增加 @Inject("ds1") BeanWrap bw 模式注入 @Configuration public c ...

  9. Solon 1.6.11 发布。类似 Spring 的生态体系

    关于官网 千呼万唤始出来: https://solon.noear.org .整了一个月多了,总体样子有了...还得不断接着整! 关于 Solon Solon 是一个轻量级应用开发框架.支持 Web. ...

随机推荐

  1. JavaScript 实现Sleep方法(多个setTimeout同步执行)

    前言 JavaScript是单线程的,如果所有操作都是同步,必将线程堵塞,页面失去响应.因此JavaScript采用了事件驱动机制,在单线程模型下,使用异步回调函数的方式来实现非阻塞的IO操作.因此也 ...

  2. The art of multipropcessor programming 读书笔记-硬件基础2

    本系列是 The art of multipropcessor programming 的读书笔记,在原版图书的基础上,结合 OpenJDK 11 以上的版本的代码进行理解和实现.并根据个人的查资料以 ...

  3. 3.4 Common Principles 通用原则

    3.4 Common Principles 通用原则 Before going into details, let's see some overall DDD principles; 在讨论细节之前 ...

  4. 如何配置log4Net

    之前曾经用过几次,但是每次都是用完就忘了,下次再用的时候要baidu半天,这次弄通之后直接记下来. 步骤如下. 1. 安装log4Net,直接用NuGet, Install-Package log4N ...

  5. 进阶区forgotg攻防世界

    攻防世界进阶区--forgot 前言,这题中看不中用啊宝友!!! 1.查看保护 第一反应就是蛮简单的,32位. 2.获取信息(先运行程序看看) 装的可以,蛮多的东西. 但是就是中看不中用 3.ida ...

  6. 2021.8.19考试总结[NOIP模拟44]

    T1 emotional flutter 把脚长合到黑条中. 每个黑条可以映射到统一区间,实际操作就是左右端点取模.长度大于$k$时显然不合法. 然后检查一遍区间内有没有不被黑条覆盖的点即可. 区间端 ...

  7. 关于麦克风的参数介绍 - 驻极体麦克风(ECM)和硅麦(MEMS)

    1.麦克风的分类1.1.动圈式麦克风(Dynamic Micphone)原理:基本构造包含线圈.振膜.永久磁铁三部分.当声波进入麦克风,振膜受到声波的压力而产生振动,与振膜在一起的线圈则开始在磁场中移 ...

  8. STM32中断编程三步曲教你弄会中断设置以及中断优先级设置

    中断作为stm32中必不可少的一个功能,其重要性是不言而喻的因此把中断学习好是根本. 所以今天就来好好啃一下中断配置的知识,俗话说:磨刀不误砍柴工.问题是什么呢?项目中我用到了一个触摸键盘TTP229 ...

  9. TensorFlow从入门到入坑(2)

    TensorFlow学习(2) 一.jupyter notebook的安装和使用 1. 什么是jupyter notebook jupyter notebook(http://jupyter.org/ ...

  10. readelf

    readelf的help内容如下所示: Usage: readelf <option(s)> elf-file(s) Display information about the conte ...