首页 > 解决方案 > spring-retry Retryble 注释与 retryTemplate

问题描述

我正在尝试理解 spring-retry 并且我看到了 2 种方法,第一种方法很简单

    @Retryable(value = {SomeException1.class,SomeException2.class}, maxAttempts = Constants.RETRY_VAL, backoff = @Backoff(value = Constants.RETRY_BACK))
    public String getData(){...}

以及第二种方式的 RetryTemplate(使用 RetryCallback/RecoveryCallback 执行)。

我的理解是,第二个提供了更细粒度的控制。我们什么时候会采用第二种方法?当我们有自己的 Backoff 和 retryPolicies 实现时,会不会是这样?

此外,我找不到使用@Retryble注释设置自定义策略的示例或示例。

标签: javaspringspring-bootspring-batchspring-retry

解决方案


在我看来,第二种方法RetryTemplate是首选。因为这种方法帮助我们在一个地方编写配置并在多个地方使用。

您还可以创建一个或多个RetryTemplatebean。每个RetryTemplatebean 都用于一个异常映射。


推荐阅读