内容简介:Solon 已有120个生态扩展插件,此次更新主要为细节打磨: 添加 solon.extend.graalvm 插件,用于适配 graalvm native image 模式 从此,solon 进入 graalvm native image 的世界。 感谢开发者:@馒头虫/瓢虫...
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 的不同》
所谓更小:
内核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 入门教程示例:https://gitee.com/noear/solon_demo
- Solon Api 入门教程示例:https://gitee.com/noear/solon_api_demo
- Solon Rpc 入门教程示例:https://gitee.com/noear/solon_rpc_demo
- Solon Auth 入门教程示例:https://gitee.com/noear/solon_auth_demo
- Solon Cloud 入门教程示例:https://gitee.com/noear/solon_cloud_demo
- Solon Socketd 入门教程示例:https://gitee.com/noear/solon_socketd_demo
- Solon 进阶教程示例:https://gitee.com/noear/solon_advance_demo
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- ASP.NET SignalR增加Azure支持
- LLVM增加对IBM MASS库的支持,支持POWER向量化
- Chrome 将增加对 HTTP Exchanges 的支持
- Chrome 将增加对 HTTP Exchanges 的支持
- NVIDIA为Nsight Systems增加Vulkan支持
- Coreboot 4.10 发布,增加支持 28 个主板
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Alone Together
Sherry Turkle / Basic Books / 2011-1-11 / USD 28.95
Consider Facebookit’s human contact, only easier to engage with and easier to avoid. Developing technology promises closeness. Sometimes it delivers, but much of our modern life leaves us less connect......一起来看看 《Alone Together》 这本书的介绍吧!
