使用Java和Spring Retry实现重试机制
import org.springframework.retry.annotation.Retryable;
import org.springframework.retry.annotation.Backoff;
import org.springframework.retry.annotation.Recover;
public class RetryService {
@Retryable(
value = {Exception.class},
maxAttempts = 5,
backoff = @Backoff(delay = 2000)
)
public void retryOperation(String message) {
// 假设这是一个可能失败的操作
System.out.println("Operation is running, message: " + message);
throw new RuntimeException("Operation failed");
}
@Recover
public void recover(Exception e, String message) {
// 当重试失败后执行的方法
System.out.println("Recovered from exception: " + e + ", message: " + message);
}
}
这个简单的例子展示了如何使用Spring Retry来实现方法的重试。retryOperation
方法可能会抛出异常,导致重试。在重试失败后,recover
方法会被调用。这个例子中,我们指定了最大重试次数为5,并且在每次重试之间使用了2秒的延迟。
评论已关闭