这是对 Google 的 Guava 库的一个小扩展,可用于为任意函数调用创建可配置的重试策略,例如 someth
compile "com.github.rholder:guava-retrying:2.0.0"##快速入门 一些功能的最小样本如下所示:
…如果 Callable 的结果为空,如果抛出了 IOException,或者如果发生任何其他异常,则会不断重试。
call() 方法抛出了 RuntimeException。尝试重试 3 次后会停止,并抛出
RetryException 包含有关上一次失败尝试的信息。如果任何其他 Exception 从堆栈中弹出,
call() 方法被包装并重新抛出为 ExecutionException。
##指数退避
创建一个 Retryer,它将永远重试,每次失败后,在不断增加的指数性延迟间隔中等待,直到最多 5 分钟。5 分钟后,此后的重试将以 5 分钟的间隔进行。
暂无开放 Issues,或尚未同步最近议题。