百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
G

guava-retrying

> 编程语言
开源

这是对 Google 的 Guava 库的一个小扩展,可用于为任意函数调用创建可配置的重试策略,例如 someth

1.5K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

这是对 Google 的 Guava 库的一个小扩展,可用于为任意函数调用创建可配置的重试策略,例如 someth

这是什么呢? guava-retrying 模块提供了一种通用方法,用于重试任意 Java 代码,具有特定的停止、重试和异常处理功能,这些功能由 Guava 的谓词匹配进行了增强。 这是 Jean-Baptiste Nizet (JB) 在 这里 发布的优秀 RetryerBuilder 代码的一个分支。 我添加了 Gradle 构建,以将其推送到我的 Maven Central 的小角落中,这样其他人就可以轻松将其拉入现有项目,只需付出最小的努力。 它还包含指数和斐波那契递减 WaitStrategies,对于那些更适宜的服务轮询情况可能会很有用。

groovy
    compile "com.github.rholder:guava-retrying:2.0.0"

##快速入门 一些功能的最小样本如下所示:

…

如果 Callable 的结果为空,如果抛出了 IOException,或者如果发生任何其他异常,则会不断重试。 call() 方法抛出了 RuntimeException。尝试重试 3 次后会停止,并抛出 RetryException 包含有关上一次失败尝试的信息。如果任何其他 Exception 从堆栈中弹出, call() 方法被包装并重新抛出为 ExecutionException。 ##指数退避

创建一个 Retryer,它将永远重试,每次失败后,在不断增加的指数性延迟间隔中等待,直到最多 5 分钟。5 分钟后,此后的重试将以 5 分钟的间隔进行。

Issues· 64 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Java

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言