使用@Retryable方法时如何访问当前重试尝试

时间:2018-10-31 09:14:57

标签: spring-boot spring-retry

我正在使用基于注释的方法-@Retryable在Spring Boot应用程序中重试。

@Retryable(value = {DataAccessException.class, JpaSystemException.class}, maxAttempts = Integer.MAX_VALUE, backoff = @Backoff(delay = 30000))

我想做的是,每次重试时,我都想访问其当前的重试次数。

我尝试使用Java Reflection-

Retryable retryable = mth.getAnnotation(Retryable.class);

但是使用此方法,我没有得到当前的重试尝试。它只给出添加到@Retryable属性中的详细信息,例如valuemaxAttemptsBackoff详细信息

对此有任何想法吗?非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您无法访问模板,除非您连接自己的拦截器并将其提供给@Retryable属性中的interceptor

但是,您可以使用{p>在@Retryable方法中使用

int retry = RetrySynchronizationManager.getContext().getRetryCount();