spring的重试机制无效@Retryable@EnableRetry
2017-12-12 12:11
1916 查看
spring-retry模块支持方法和类、接口、枚举级别的重试
方式很简单,引入pom包
然后在@Configuration注解的类中添加@EnableRetry
最后在想要重试的方法上添加@Retryable(Exception.class)
由于retry用到了aspect增强,所有会有aspect的坑,就是方法内部调用,会使aspect增强失效,那么retry当然也会失效。
这种情况B()不会重试。
方式很简单,引入pom包
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>lastest</version> </parent> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework.retry/spring-retry --> <dependency> <groupId>org.springframework.retry</groupId> <artifactId>spring-retry</artifactId> <version>1.1.2.RELEASE</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.6</version> </dependency>
然后在@Configuration注解的类中添加@EnableRetry
最后在想要重试的方法上添加@Retryable(Exception.class)
由于retry用到了aspect增强,所有会有aspect的坑,就是方法内部调用,会使aspect增强失效,那么retry当然也会失效。
例如
public class demo { public void A() { B(); } @Retryable(Exception.class) public void B() { throw new RuntimeException("retry..."); } }
这种情况B()不会重试。
相关文章推荐
- springboot整合spring retry 重试机制
- Spring异常重试框架Spring Retry
- atitit.提升稳定性---hibernate 增加重试retry 机制解决数据库连接关闭
- spring boot EnableAutoConfiguration exclude 无效
- Spring 下默认事务机制中@Transactional 无效的原因
- Spring 下默认事务机制中@Transactional 无效的原因
- Spring Cloud 请求重试机制核心代码分析
- SpringBoot之重试retry
- Spring 下默认事务机制中@Transactional 无效的原因
- spring boot / cloud (七) 使用@Retryable来进行重处理
- tomcat + Spring, 定时器重入, 锁机制无效
- SpringCloud重试机制配置
- java重试之Spring Retry
- Spring 下默认事务机制中@Transactional 无效的原因
- Retry重试机制
- Retry重试机制
- springcloud-ribbon、fein服务调用的对比使用以及重试机制的使用
- 使用Spring-retry 1.1.4完成重试功能
- SpringCloud重试机制配置详解
- Spring缓存机制的理解 @Cacheable