背景
很多时候,在进行一个需要耗时等待的操作时,我们往往选择采用间隔一段时间进行轮询的方式。这个方式比较原始的写法如下,即循环+sleep:

Guava retry
添加如下依赖:

一个简单的示例如下图,除了图中的配置,还支持.retryIfException()发生错误时重试,.withRetryListener(...)设置重试监听器,可以打日志等。

原理
其实内部也是用了Thread.sleep() ?
很多时候,在进行一个需要耗时等待的操作时,我们往往选择采用间隔一段时间进行轮询的方式。这个方式比较原始的写法如下,即循环+sleep:

添加如下依赖:

一个简单的示例如下图,除了图中的配置,还支持.retryIfException()发生错误时重试,.withRetryListener(...)设置重试监听器,可以打日志等。

其实内部也是用了Thread.sleep() ?