每天进步一点点 - 优雅重试轮询,替代Thread.sleep()

发布时间 2023-10-07 20:28:42作者: rachel_aoao

背景

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

Guava retry

添加如下依赖:
image

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

原理

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