每天进步一点点 - 优雅重试轮询,替代Thread.sleep()
背景
很多时候,在进行一个需要耗时等待的操作时,我们往往选择采用间隔一段时间进行轮询的方式。这个方式比较原始的写法如下,即循环+sleep:
Guava retry
添加如下依赖:
一个简单的示例如下图,除了图中的配置,还支持.retryIfException()
发生错误时重试,.withRetryListener(...)
设置重试监听器,可以打日志等。
原理
其实内部也是用了Thread.sleep()
😂