首页 文章 精选 留言 我的

精选列表

搜索[声明式],共10009篇文章
优秀的个人博客,低调大师

声明式 HTTP 框架 Forest v1.5.22 发布!支持 Kotlin

Forest 介绍 Forest 是一个开源的 Java HTTP 客户端框架,它能够将 HTTP 的所有请求信息(包括 URL、Header 以及 Body 等信息)绑定到您自定义的 Interface 方法上,能够通过调用本地接口方法的方式发送 HTTP 请求 Forest 如何使用 Forest 不需要您编写具体的 HTTP 调用过程,只需要您定义一个接口,然后通过 Forest 注解将 HTTP 请求的信息添加到接口的方法上即可。请求发送方通过调用您定义的接口便能自动发送请求和接受请求的响应 Forest 的工作原理 Forest 会将您定义好的接口通过动态代理的方式生成一个具体的实现类,然后组织、验证 HTTP 请求信息,绑定动态数据,转换数据形式,SSL 验证签名,调用后端 HTTP API (httpclient 等 API) 执行实际请求,等待响应,失败重试,转换响应数据到 Java 类型等脏活累活都由这动态代理的实现类给包了。 请求发送方调用这个接口时,实际上就是在调用这个干脏活累活的实现类 获得奖项 2021年度OSC中国开源项目评选「最受欢迎项目」 https://www.oschina.net/project/top_cn_2021 重点更新内容 统一连接池 不用再分别定义 OkHttp 和 Httpclient 的连接池了,也不用担心异步请求和同步请求不在同一个连接池的烦恼了 本次更新统一连接池,可以通过max-connections 和 max-route-connections属性统一管理 OkHttp 和 HttpClient 所有后端的所有请求的最大请求数和最大每路由请求数,同时也包括异步请求在内可以一同进行限制 参数定义返回类型 当接口方法返回的是未知参数的泛型类型时,可以通过新增的@Return参数注解,来标识某个参数为返回类型 // 通过 Class 类型参数来标识返回类型 @Get("/user/info") <T> T getGenericClass(@Return Class clazz); // 通过 Type 类型参数来标识返回类型 @Get("/user/info") <T> T getGenericType(@Return Type type); // 通过 TypeReference 类型参数来标识返回类型 @Get("/user/info") <T> T getGenericTypeReference(@Return TypeReference typeReference); 文档和示例 项目官网 JavaDoc Demo 工程 本次更新 新增特性: feat: 统一连接池 (#I5APJA:统一连接池) feat: 可配置异步请求线程池队列大小 (#I5B78X:可配置异步请求线程池队列大小) feat: 支持通过参数定义返回类型 (#I5ANZL:支持通过参数定义返回类型) 修复的问题: fix: spring 5.1 以下的低版本启动失败 fix: 请求地址中包含#字符会被转义导致资源找不到 (#I59O7M:请求地址中包含#字符会被转义导致资源找不到) fix: 配置BaseRequest的baseURL属性后,完整请求路径中的默认端口号会被覆盖,导致请求失败 (#I4YBDV:配置BaseRequest的baseURL属性后,完整请求路径中的默认端口号会被覆盖,导致请求失败) fix: 解决当@body注解在对象上标识以后,char&Character类型的属性无法从客户端传输至服务端问题 fix: kotlin项目启动异常 (#I50PDZ:1.5.17及之后的版本kotlin项目启动异常) fix: RetryWhen重试条件接口在最后一次重试后会执行两次 (#I599BT:RetryWhen重试条件接口在最后一次重试后会执行两次)

优秀的个人博客,低调大师

声明式 HTTP 框架 Forest v1.5.20 发布,支持Java 17!

Forest介绍 Forest 是一个开源的 Java HTTP 客户端框架,它能够将 HTTP 的所有请求信息(包括 URL、Header 以及 Body 等信息)绑定到您自定义的 Interface 方法上,能够通过调用本地接口方法的方式发送 HTTP 请求 在Gitee上现已超过 2.3k star Forest 如何使用 Forest 不需要您编写具体的 HTTP 调用过程,只需要您定义一个接口,然后通过 Forest 注解将 HTTP 请求的信息添加到接口的方法上即可。请求发送方通过调用您定义的接口便能自动发送请求和接受请求的响应 Forest 的工作原理 Forest 会将您定义好的接口通过动态代理的方式生成一个具体的实现类,然后组织、验证 HTTP 请求信息,绑定动态数据,转换数据形式,SSL 验证签名,调用后端 HTTP API(httpclient 等 API)执行实际请求,等待响应,失败重试,转换响应数据到 Java 类型等脏活累活都由这动态代理的实现类给包了。 请求发送方调用这个接口时,实际上就是在调用这个干脏活累活的实现类 支持JDK 17 JDK 17这个坑已经挖了好一阵子了,这次终于把它填上了。此次新版本1.5.20兼容了从8到17所有JDK的版本,不会再出现新鱼与熊掌不能兼得的问题,也不再需要额外引入 jaxb 包就能在11以上版本正常运行 文档和示例 项目官网 JavaDoc Demo工程 本次更新 修复的问题: feat:支持JDK17,兼容从8、11到17所有JDK版本 修复的问题: fix:BaseRequest 设置connectTimeout和readTimeout没效果 fix: 下载,内存溢出 fix: AddressSource 里面配置 basePath 不生效 特别鸣谢 @chming

优秀的个人博客,低调大师

Smart Retry 1.3.7 发布,声明式的异步持久化重试框架

Smart Retry 主要是用来进行方法重试的。和 Guava Retry、Spring Retry 相比,Smart Retry 最大的特点是异步重试,支持持久化,系统重启之后可以继续重试。 如果你是做后台微服务的,一定会有用到的场景,千万不要错过。 本次更新 1:优化了内部生成 Aop 代理的逻辑 最新的 jar 已经 deploy 到 maven 的中央仓库了 Smart Retry 1.3.7,欢迎使用

优秀的个人博客,低调大师

Smart Retry 1.3.5 发布,声明式的异步持久化重试框架

Smart Retry 主要是用来进行方法重试的。和Guava Retry、Spring Retry相比,Smart Retry最大的特点是异步重试,支持持久化,系统重启之后可以继续重试。 如果你是做后台微服务的,一定会有用到的场景,千万不要错过。 本次更新 1:整合Elastic-Job,用于把重试任务Job注册到Elastic-Job 最新的jar已经deploy到maven的中央仓库了 Smart Retry 1.3.5,欢迎使用

优秀的个人博客,低调大师

Smart Retry 1.3.4 发布,声明式的异步持久化重试框架

Smart Retry 主要是用来进行方法重试的。和Guava Retry、Spring Retry相比,Smart Retry最大的特点是异步重试,支持持久化,系统重启之后可以继续重试。 本次更新 1:抽象出了RetryRegistry接口,用于把重试任务Job注册到其他的调度框架中去,可无缝对接其他的调度框架 下个版本计划 1:整合Elastic-Job,用于把重试任务Job注册到Elastic-Job

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册