resilience4j springboot 2 注释(@Retry、@CircuitBreaker)不起作用
resilience4j springboot 2 annotations (@Retry, @CircuitBreaker) not working
我正在开发一个springboot应用程序,想添加resilience4j-重试机制。
我做了以下步骤:
在pom.xml
中添加了执行器、aop和resilience4j依赖项
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>io.github.resilience4j</groupId>
<artifactId>resilience4j-spring-boot2</artifactId>
</dependency>
在控制器中创建了一个方法,该方法将尝试命中虚拟服务(预计会失败)。在我的方法上添加了@Retry 注释。
@GetMapping("/sample-api")
@Retry(name = "sample-api")
private String sampleApi() {
log.info("Sample Api call receieved");
ResponseEntity<String> forEntity = new RestTemplate().getForEntity("http://localhost:8080/some-dummy-url", String.class);
return forEntity.getBody();
}
将配置添加到 application.properties
resilience4j.retry.instances.sample-api.maxAttempts=5
此外,我尝试使用 maxRetryAttempts。但是什么都没有改变。
我希望它重试 application.properties 中配置的次数。
但是,它只尝试一次。
不确定我是否遗漏了什么。
有人可以帮忙吗?
带注释的方法必须 public 而不是私有的。
我正在开发一个springboot应用程序,想添加resilience4j-重试机制。 我做了以下步骤:
在pom.xml
中添加了执行器、aop和resilience4j依赖项<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <dependency> <groupId>io.github.resilience4j</groupId> <artifactId>resilience4j-spring-boot2</artifactId> </dependency>
在控制器中创建了一个方法,该方法将尝试命中虚拟服务(预计会失败)。在我的方法上添加了@Retry 注释。
@GetMapping("/sample-api") @Retry(name = "sample-api") private String sampleApi() { log.info("Sample Api call receieved"); ResponseEntity<String> forEntity = new RestTemplate().getForEntity("http://localhost:8080/some-dummy-url", String.class); return forEntity.getBody(); }
将配置添加到 application.properties
resilience4j.retry.instances.sample-api.maxAttempts=5
此外,我尝试使用 maxRetryAttempts。但是什么都没有改变。
我希望它重试 application.properties 中配置的次数。 但是,它只尝试一次。 不确定我是否遗漏了什么。 有人可以帮忙吗?
带注释的方法必须 public 而不是私有的。