У меня есть управляемый bean bean типа B. У меня есть @EnableREtry в классе @Configuration. Когда я использую @Retryable на doStuff()
, метод будет повторно рассмотрен при ошибке, как ожидалось.Использование @Retryable в методах, определяемых в базовом классе весеннего боба, не повторяется
Но метод, который я действительно хочу повторить, - это метод, определенный в базовом классе, A. A - это конкретный класс, а не управляемый весом компонент. метод doSomethingElse
не получает повторения при бросании исключения.
Я действительно хочу doSomethingElse для повторного использования, метод базового класса. Однако я не уверен, как это сделать. Я предполагаю, что это потому, что A - это конкретный класс, а не боб, хотя он служит базовым классом.
Должен ли я использовать RetryableTemplate в классе A?
public class B extends A {
public void doStuff() {
super.doSomethingElse();
}
}
public class A {
// doesn't actually retry
@Retryable
public void doSomething() {
throws new Exception();
}
}
Я верю, что RetryTemplate будет полезен здесь, поскольку он будет работать на классах, которые не управляются весной (по крайней мере, я так полагаю). –
Это правильно. –