【问题标题】:Use both functional Programming and Spring annotations - Resilience4j同时使用函数式编程和 Spring 注释 - Resilience4j
【发布时间】:2020-09-02 14:21:26
【问题描述】:

我正在使用弹性 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

【问题讨论】:

    标签: resilience4j


    【解决方案1】:

    只需将 CircuitBreakerRegistry 注入您的 bean。

    【讨论】:

      猜你喜欢
      • 2020-01-27
      • 2020-01-26
      • 2011-03-14
      • 2021-03-14
      • 2015-07-05
      • 2021-06-23
      • 1970-01-01
      • 2021-09-08
      • 1970-01-01
      相关资源
      最近更新 更多