`

spring retry开源项目例子

 
阅读更多
https://github.com/spring-projects/spring-retry,
实现的功能是比如对于耗费资源的可以进行多次重试

例子如下:
比如一个实际模拟获得汇率的转换的例子
public interface ExchangeRateCalculator {
	public abstract Double getCurrentRate();
}


模拟出错,重新试验10次,然后最终还是不行的话,调用recover方法

@Service
public class AdvancedDummyExchangeRateCalculator implements ExchangeRateCalculator {
	
	private static final double BASE_EXCHANGE_RATE = 1.09;
	private int attempts = 0;
	private SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");

	@Retryable(value=RuntimeException.class,maxAttempts=10,backoff = @Backoff(delay = 5000,multiplier=1.5))
	public Double getCurrentRate(){
		System.out.println("Calculating - Attempt " + attempts + " at " + sdf.format(new Date()));
		attempts++;
		.
		throw new RuntimeException("Error");
	}
	
	@Recover
	public Double recover(RuntimeException e){
		System.out.println("Recovering - returning safe value");
		return BASE_EXCHANGE_RATE;
	}



补充两篇不错的文章:http://www.baeldung.com/spring-retry
https://www.javacodegeeks.com/2017/07/spring-retry-winter-coming.html
1
1
分享到:
评论
2 楼 guooo 2016-09-09  
实现类,缺少注解,加上就可以正常工作了。

@Configuration
@EnableRetry
1 楼 guooo 2016-09-09  
博主这例子不完整吧。

相关推荐

    spring-retry,.zip

    Spring Retry是Spring生态系统中的一个开源项目,它提供了声明性的重试支持,帮助开发者优雅地处理这些临时故障,提高系统的稳定性和可靠性。本文将深入探讨Spring Retry的核心概念、使用方法以及其在实际应用中的...

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

    本文将深入探讨两个常用的重试框架:Spring Retry和Guava Retry,并通过一个名为`retry-starter`的Spring Boot项目实例,来解析它们的使用方式以及差异。 首先,我们来看Spring Retry。Spring Retry是Spring框架的...

    spring-retry:使用spring-retry项目的例子

    在Spring Retry项目中,主要涉及以下几个核心概念和功能: 1. **RetryTemplate**: 这是Spring Retry的主要入口点,它提供了一种声明式的方式来定义重试策略。开发者可以通过设置最大重试次数、间隔时间、重试条件等...

    Spring Retry 和 Guava Retrying重试机制的使用详解

    如果项目已经基于Spring框架,那么Spring Retry可能是更自然的选择,因为它与Spring的其他组件集成良好。而如果需要更精细的控制或者项目不依赖Spring,Guava Retrying则会是更好的选项。 总结,Spring Retry和...

    spring-amqp,spring-retry,spring-rabbit

    标题中的"spring-amqp"、"spring-retry"和"spring-rabbit"是Spring框架的三个关键组件,它们主要用于构建高效、可靠的分布式系统,尤其是在消息传递和错误处理方面。 1. **Spring AMQP**: Spring AMQP是Spring框架...

    Spring Boot集成 Spring Retry 实现容错重试机制教程配套源码

    该源码对应个人博客【Spring Boot集成 Spring Retry 实现容错重试机制】配套教程,地址:https://blog.csdn.net/lhmyy521125/article/details/139661753 小伙伴可以自行下载学习!不需要积分!不需要积分!不需要...

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

    要使用 Spring Retry,首先需要在项目中引入依赖。在 Maven 的 `pom.xml` 文件中添加以下依赖: ```xml <groupId>org.springframework.retry <artifactId>spring-retry <version>1.3.1 ``` 接下来,配置 Spring...

    Spring Retry实例与原理源码

    在业务场景中 , 有时候会遇到异常后需要重复尝试的操作 , 例如调用三方接口 , 发送邮件/短信 , 推送消息等等 . Spring 提供了Retry组件 , 很方便的解决了上述问题

    spring-retry jar

    spring-retry jar

    详解Spring Retry实现原理

    主要介绍了详解Spring Retry实现原理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Spring boot使用spring retry重试机制的方法示例

    主要介绍了Spring boot使用spring retry重试机制的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Spring重试支持Spring Retry的方法

    首先,需要在项目中添加Spring Retry的依赖项。可以在pom.xml文件中添加以下依赖项: ``` <groupId>org.springframework.retry <artifactId>spring-retry <version>1.1.2.RELEASE ``` 接下来,需要在服务类中...

    详解重试框架Spring retry实践

    Spring Retry 是一个强大的重试和熔断框架,它源自 Spring Batch 项目,专门用于处理可能出现异常的场景,尤其是针对远程调用和网络不稳定的情况。在微服务架构中,重试和熔断机制是非常重要的,它们有助于提高系统...

    开源项目-shafreeck-retry.zip

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

    spring-retry简单使用方法

    Spring Retry 简单使用方法 Spring Retry 是 Spring 框架中的一种 retry 机制,主要用于解决分布式系统中数据一致性的问题。它可以在 RPC 调用或发送 MQ 消息时,自动重试失败的操作,以确保数据的一致性。 添加 ...

    开源项目-Rican7-retry.zip

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

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

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

    retry-demo.rar

    本项目"retry-demo.rar"是一个基于Spring Retry的工程示例,用于演示如何在调用失败时实现重试机制。 Spring Retry是一个轻量级的库,它为Java和Spring应用程序提供了简单的API来处理重试逻辑。核心概念包括: 1. ...

    spring-retry-example:Spring重试和番石榴重试演示

    目前有两个开源的类库spring retry and guava retry都支持编程式,spring retry更加融合spring的aop注解驱动,使用更加的方便。模拟异常场景为了实现demo,模拟了异常的场景异常调用...

Global site tag (gtag.js) - Google Analytics