Spring 重试 Dao Class

Spring Retry for Dao Class

我有以下代码 Spring 引导版本:2.3.4

@Repository
class Dbrepository
{


public void performCall() {

 simpleJdbcCall = new 
               SimpleJdbcCall(jdbcTemplate) 
               .withProcedureName("read_actor")
             //.....
  
    simpleJdbcCall.execute(...) ;
}

}

我想在每次调用之间以 1 分钟的间隔重试 performCall() 至少 3 次。 我怎样才能做到这一点? 我正在考虑使用 Spring 重试?这是最好的方法吗?

可以通过添加spring-retry

来实现
   <dependency>
        <groupId>org.springframework.retry</groupId>
        <artifactId>spring-retry</artifactId>
    </dependency>

在您的主应用程序中添加@EnableRetry

@Retryable(maxAttempts=3,backoff=@Backoff(delay = 10000))
public void performCall() {

 simpleJdbcCall = new 
               SimpleJdbcCall(jdbcTemplate) 
               .withProcedureName("read_actor")
             //.....
  
    simpleJdbcCall.execute(...) ;
}

希望有用