在这篇文章中,我们将学习如何对CompletableFuture对象应用重试逻辑。起初,我们将重试封装在CompletableFuture中的任务。之后,我们将利用CompletableFuture API创建多个实例的链,使我们能够在将来遇到异常完成时重新执行任务。
2. 重试任务
简单重试任务的方法是利用装饰者模式,并使用传统的面向对象风格通过类和接口实现它。 另一方面,我们可以选择更简洁和函数式的方法,利用高阶函数的优势。
首先,我们将声明一个函数,它接受一个Supplier<T>和最大调用次数作为参数。然后,我们将使用while循环和try-catch块在需要时多次调用函数。最后,我们将通过返回另一个Supplier<T>来保留原始数据类型:
大约 6 分钟