`
sillycat
  • 浏览: 2542896 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java and Simple Retry

    博客分类:
  • JAVA
 
阅读更多
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




分享到:
评论

相关推荐

    java打开源码方法-simple-retry4j:简单的Java重试工具(AJavamethodretryandbatchexecuteop

    simple-retry4j 一个简单的Java重试和分批执行工具类 maven配置 &lt;!-- https://mvnrepository.com/artifact/com.github.chujianyun/simple-retry4j --&gt; &lt;groupId&gt;com.github.chujianyun&lt;/groupId&gt; ...

    重试框架spring-retry以及guava-retry的使用

    1. **集成度**:Spring Retry与Spring框架紧密结合,易于在Spring应用中使用,而Guava Retry作为独立库,可以被任何Java项目采用,但需要手动集成。 2. **使用方式**:Spring Retry更注重声明式编程,注解方式更...

    Java编程Retry重试机制实例详解

    Java编程Retry重试机制实例详解 Java编程中的Retry重试机制是一种常见的 fault-tolerant 机制,用于处理远程调用或网络请求失败的情况。该机制可以在出现异常或错误时,自动重试执行操作,以提高系统的可用性和稳定...

    spring-retry

    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-64-整合Guava-Retry实现重试-源代码+文档.rar...

    Java开发案例-springboot-37-整合spring-retry实现服务重试-源代码+文档.rar

    Java开发案例-springboot-37-整合spring-retry实现服务重试-源代码+文档.rar Java开发案例-springboot-37-整合spring-retry实现服务重试-源代码+文档.rar Java开发案例-springboot-37-整合spring-retry实现服务重试-...

    Java并发流库SimpleReact.zip

    Simple-React 为 Java 8 增加了高级异步 Streams 和数据结构。这是一个 Java 8 的并发流库,提供三中 Stream 类型(LazyFutureStream、SimpleReactStream、EagerFutureStream)和三种异步数据结构(Queue、Topic、...

    springboot基于spring-retry实现重试机制

    ```java import org.springframework.retry.annotation.Recover; import org.springframework.retry.annotation.Retryable; @Service public class PaymentCallbackService { @Retryable(value = {Exception....

    spring-retry,.zip

    ```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提供对Java应用程序easy-retry试支持。 特征 灵活的。 您可以按照以下政策重试您的工作: 发生异常,您也可以配置将忽略哪些异常。 意外的结果。 重试最大次数或最大等待时间。 易于使用请参阅“快速...

    spring-retry jar

    spring-retry jar

    前端开源库-axios-retry

    1. 安装插件:通过npm或yarn进行安装,例如`npm install axios-retry`或`yarn add axios-retry`。 2. 配置插件:在AXIOS实例上启用重试功能,例如`axios.interceptors.response.use(response =&gt; response, error =&gt;...

    开源项目-Rican7-retry.zip

    开源项目-Rican7-retry.zip,retry - A simple, stateless, functional mechanism to perform actions repetitively until successful

    前端开源库-superagent-retry

    **超级代理重试库——superagent-retry** 在前端开发中,我们经常遇到网络不稳定、服务器响应延迟等问题,这些问题可能导致API请求失败或者数据获取不完整。为了提高用户体验和应用程序的健壮性,开发者通常需要对...

    python——retry装饰器(csdn)————程序.pdf

    Python retry 装饰器详解 Python 语言中,retry 装饰器是一种非常有用的机制,能够帮助开发者在编写代码时,轻松地实现函数的重试机制。本文将对 Python 中的 retry 装饰器进行详细的讲解,包括其定义、使用方法、...

    开源项目-shafreeck-retry.zip

    【开源项目-shafreeck-retry】是一个针对Java开发者的开源库,主要目的是提供一种简单易用的重试机制,确保关键操作在遇到异常时能够得到适当处理并最终完成。这个项目的名字“retry”直接表明了其核心功能,即重试...

    kotlin-retry,用于重试可能失败的操作的高阶函数。.zip

    Kotlin-retry是一个专门为Kotlin语言设计的开源项目,它提供了一个高阶函数`retry`,帮助开发者优雅地处理可能失败的操作,并自动进行重试。 `retry`函数的基本思想是,当一个操作在第一次尝试时失败,它可以被自动...

    retry-demo.rar

    Spring Retry是一个轻量级的库,它为Java和Spring应用程序提供了简单的API来处理重试逻辑。核心概念包括: 1. **RetryTemplate**: 这是Spring Retry的主要入口点,允许开发者定义重试策略并执行可重试的操作。通过...

    guava-retry jar包

    Guava Retry是基于Java的,适用于任何Java应用程序,特别是那些需要在网络通信、数据库访问或其他可能不稳定的服务中进行操作的场景。 在Guava Retry中,你可以定义一个RetryPolicy,它包含了重试的条件(如特定的...

    Kettle java API

    10. **Error Handling and Retry Logic**: Kettle API提供了错误处理机制,如错误流和错误表格,允许开发者编写容错代码。`ErrorHandling`类和相关接口可以帮助实现重试逻辑。 通过以上介绍,我们可以看到Kettle ...

Global site tag (gtag.js) - Google Analytics