
RT ,需求,重试 5 次,不行抛异常,自己的写法是:
while (!某一个条件 ready || retryTimes < 5) { Thread.sleep(1000); retryTimes++; } if (retryTimes == 5) { throw new xxxException(); } 不考虑通知机制的前提下,有啥好的写法,目前这个写法太搓了
1 ql562482472 2022 年 12 月 30 日 写个框架 比如 class RetryExecutor{ public retry(Consumer task, int retryTimes,Function onsuccess,Function onfailure) } |
2 jdOY 2022 年 12 月 30 日 spring retry |
3 itechify PRO <dependency> <groupId>com.github.rholder</groupId> <artifactId>guava-retrying</artifactId> <version>2.0.0</version> </dependency> |
4 kaneg 2022 年 12 月 30 日 resilience4j-retry |
5 wolfie 2022 年 12 月 30 日 Guava Retry |
6 z960112559 2022 年 12 月 30 日 spring-retry |
7 vayci 2022 年 12 月 30 日 借楼提个问:spring-retry 基于内存实现,程序重启后重试中没结束的逻辑就丢失了。为实现重新程序还能接着重试,我自己手动持久化到 redis ,然后启动时使用 RetryTemplate 又去创建重试。但是感觉这个做法有点蠢,有没有比较优雅的实现方式或者现成的中间件可以实现 |
8 monkeyzsf 2022 年 12 月 30 日 RxJava:retryWhen ? |
9 itning 2022 年 12 月 30 日 |
11 vitoliu 2022 年 12 月 30 日 via iPhone Future.callback guava retry 都很优雅。还可以结合 eventbus 做 fallback listener |