Java 处理Spring引导JPA异常

Java 处理Spring引导JPA异常,java,spring-boot,jpa,Java,Spring Boot,Jpa,我正在一个项目中使用SpringBoot和JPA。我在执行一些JPA操作时有疑问,例如repository.save(object) 如果由于DB间歇性断开,程序无法连接DB 当出现异常时,程序如何使用某些spring引导功能重试此操作 什么是类中最相关的异常类 感谢您的帮助 对于这个特定的用例,您可以使用Spring重试。您可以配置要重试的故障条件,还可以使用recover方法在重试失败时进行恢复 您可以在配置类上使用@EnableRetry注释启用重试 @Configuration @Ena

我正在一个项目中使用SpringBoot和JPA。我在执行一些JPA操作时有疑问,例如
repository.save(object)

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

  • 当出现异常时,程序如何使用某些spring引导功能重试此操作
  • 什么是类中最相关的异常类

  • 感谢您的帮助

    对于这个特定的用例,您可以使用Spring重试。您可以配置要重试的故障条件,还可以使用
    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;
    
    }
    
    你可以找到更多的细节和例子以及官方文件