我正在使用弹性 4j 库来实现 Spring Boot 的容错。我想在 application.yml 文件中维护弹性 4j 配置。
我想使用弹性 4j 注释,因为它有助于保持业务逻辑的整洁。
但是在注释不起作用的情况下(例如 AOP 不允许调用同一类的方法并且无法注释 Spring 数据存储库方法)我想使用函数式编程方法。
对于 application.yml 文件中给出的配置,我如何在我的 Spring boot 应用程序中创建 CircuitBreaker 和 Retry bean,以便在某些场景中使用高阶函数式编程来装饰调用,并在其他场景中使用注解。
我目前的配置:
resilience4j:
retry:
configs:
default:
max-retry-attempts: 3
wait-duration: 5s
retry-exception-predicate: com.example.resilience.predicate.RetryExceptionPredicate
retry-exceptions:
- java.io.IOException
- java.util.concurrent.TimeoutException
instances:
ierp-test:
base-config: default