Обработка исключений Spring Boot JPA - PullRequest
0 голосов
/ 06 ноября 2019

Я использую загрузку Spring с JPA в проекте. У меня есть сомнения при выполнении какой-либо операции JPA, например repository.save(object).

Если программе не удалось подключиться к БД из-за прерывания прерывания БД, тогда,

  1. Как программа может повторить это с некоторой функцией весенней загрузки, исключение?
  2. Какой класс исключений следует добавить в класс?

Любая помощь приветствуется!

1 Ответ

1 голос
/ 06 ноября 2019

У вас есть 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;

}

Вы можете найти более подробную информацию и примеры здесь и официальные документы здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...