处理Spring Boot JPA异常

我在项目中将Spring Boot与JPA一起使用。我在进行一些JPA操作时遇到疑问,例如repository.save(object)

如果由于DB间歇性断开而导致程序无法连接DB,则

  1. 在异常情况下,程序如何使用某些spring boot功能重试此操作?
  2. 放在课堂上最相关的异常类别是什么?

感谢您的帮助!

wnykdc 回答:处理Spring Boot JPA异常

对于此特定用例,您可以使用Spring Retry。您可以配置要在什么故障条件下进行重试,如果重试失败,还可以使用一种recover方法进行恢复。

您可以在配置类上使用@EnableRetry批注启用重试。

@Configuration
@EnableRetry
public class AppConfig { ... } 

然后,使用@Retryable注释,如下所示。您可以配置需要重试的异常,重试的间隔和重试次数。

@Service
public interface MyService {

    @Retryable(value = { SQLException.class },maxAttempts = 2,backoff = @Backoff(delay = 5000))
    void retryService(String sql) throws SQLException;

}

您可以找到更多详细信息和示例here和官方文档here

本文链接:https://www.f2er.com/3154749.html

大家都在问