Java and Simple Retry
This is really nice.
Add this in pom.xml
<dependency>
<groupId>net.jodah</groupId>
<artifactId>failsafe</artifactId>
<version>1.0.5</version>
</dependency>
I am retrying that on top of the result.
private RetryPolicy getPolicy()
{
RetryPolicy retryPolicy = new RetryPolicy();
retryPolicy.retryIf( result -> result.equals( false ) );
retryPolicy.withDelay( 10, TimeUnit.SECONDS );
retryPolicy.withMaxRetries( 3 );
return retryPolicy;
}
public boolean uploadFile( String bucketName, String key, String fileToUpload )
{
boolean result =
Failsafe.with( this.getPolicy() ).get( () -> this.uploadFileOnce( bucketName, key, fileToUpload ) );
return result;
}
Maybe it should be better in AKKA, crash and recover mode. But I do not have AKKA here, maybe this solution is simple and useful.
References:
https://github.com/jhalterman/failsafe#asynchronous-api-integration
分享到:
相关推荐
simple-retry4j 一个简单的Java重试和分批执行工具类 maven配置 <!-- https://mvnrepository.com/artifact/com.github.chujianyun/simple-retry4j --> <groupId>com.github.chujianyun</groupId> ...
1. **集成度**:Spring Retry与Spring框架紧密结合,易于在Spring应用中使用,而Guava Retry作为独立库,可以被任何Java项目采用,但需要手动集成。 2. **使用方式**:Spring Retry更注重声明式编程,注解方式更...
Java编程Retry重试机制实例详解 Java编程中的Retry重试机制是一种常见的 fault-tolerant 机制,用于处理远程调用或网络请求失败的情况。该机制可以在出现异常或错误时,自动重试执行操作,以提高系统的可用性和稳定...
spring-retry-1.0.0.RELEASE.jar
Java开发案例-springboot-64-整合Guava-Retry实现重试-源代码+文档.rar Java开发案例-springboot-64-整合Guava-Retry实现重试-源代码+文档.rar Java开发案例-springboot-64-整合Guava-Retry实现重试-源代码+文档.rar...
Java开发案例-springboot-37-整合spring-retry实现服务重试-源代码+文档.rar Java开发案例-springboot-37-整合spring-retry实现服务重试-源代码+文档.rar Java开发案例-springboot-37-整合spring-retry实现服务重试-...
```java import org.springframework.retry.annotation.Recover; import org.springframework.retry.annotation.Retryable; @Service public class PaymentCallbackService { @Retryable(value = {Exception....
Simple-React 为 Java 8 增加了高级异步 Streams 和数据结构。这是一个 Java 8 的并发流库,提供三中 Stream 类型(LazyFutureStream、SimpleReactStream、EagerFutureStream)和三种异步数据结构(Queue、Topic、...
```java @Service @Retryable(value = {MyException.class}, maxAttempts = 5, backoff = @Backoff(delay = 1000)) public class MyService { public void performTask() throws MyException { // 业务逻辑,可能...
easy-retry提供对Java应用程序easy-retry试支持。 特征 灵活的。 您可以按照以下政策重试您的工作: 发生异常,您也可以配置将忽略哪些异常。 意外的结果。 重试最大次数或最大等待时间。 易于使用请参阅“快速...
spring-retry jar
1. 安装插件:通过npm或yarn进行安装,例如`npm install axios-retry`或`yarn add axios-retry`。 2. 配置插件:在AXIOS实例上启用重试功能,例如`axios.interceptors.response.use(response => response, error =>...
开源项目-Rican7-retry.zip,retry - A simple, stateless, functional mechanism to perform actions repetitively until successful
**超级代理重试库——superagent-retry** 在前端开发中,我们经常遇到网络不稳定、服务器响应延迟等问题,这些问题可能导致API请求失败或者数据获取不完整。为了提高用户体验和应用程序的健壮性,开发者通常需要对...
Python retry 装饰器详解 Python 语言中,retry 装饰器是一种非常有用的机制,能够帮助开发者在编写代码时,轻松地实现函数的重试机制。本文将对 Python 中的 retry 装饰器进行详细的讲解,包括其定义、使用方法、...
【开源项目-shafreeck-retry】是一个针对Java开发者的开源库,主要目的是提供一种简单易用的重试机制,确保关键操作在遇到异常时能够得到适当处理并最终完成。这个项目的名字“retry”直接表明了其核心功能,即重试...
Kotlin-retry是一个专门为Kotlin语言设计的开源项目,它提供了一个高阶函数`retry`,帮助开发者优雅地处理可能失败的操作,并自动进行重试。 `retry`函数的基本思想是,当一个操作在第一次尝试时失败,它可以被自动...
Spring Retry是一个轻量级的库,它为Java和Spring应用程序提供了简单的API来处理重试逻辑。核心概念包括: 1. **RetryTemplate**: 这是Spring Retry的主要入口点,允许开发者定义重试策略并执行可重试的操作。通过...
Guava Retry是基于Java的,适用于任何Java应用程序,特别是那些需要在网络通信、数据库访问或其他可能不稳定的服务中进行操作的场景。 在Guava Retry中,你可以定义一个RetryPolicy,它包含了重试的条件(如特定的...
10. **Error Handling and Retry Logic**: Kettle API提供了错误处理机制,如错误流和错误表格,允许开发者编写容错代码。`ErrorHandling`类和相关接口可以帮助实现重试逻辑。 通过以上介绍,我们可以看到Kettle ...