B型のスプリングマネージドBeanがあります。@EnableREtryは@Configurationクラスにあります。 doStuff()
で@Retryableを使用すると、メソッドは期待どおりに失敗すると再試行されます。Spring Beanの基本クラスで定義されているメソッドで@Retryableを使用しても再試行されない
しかし、私が実際にやり直したいメソッドは、基本クラスで定義されたメソッドです.Aは具体的なクラスであり、スプリングマネージドBeanではありません。 doSomethingElse
メソッドは例外をスローするときに再試行されません。
私は本当にdoSomethingElseを再試行したい、基本クラスのメソッド。しかし、私はこれを行う方法がわかりません。 Aは基本クラスとして機能しますが、Aは具体的なクラスでありBeanではないため、これは推測しています。
クラスAでRetryableTemplateを使用する必要がありますか?
public class B extends A {
public void doStuff() {
super.doSomethingElse();
}
}
public class A {
// doesn't actually retry
@Retryable
public void doSomething() {
throws new Exception();
}
}
私は、Springで管理されていないクラスで動作するため、ここではRetryTemplateが便利だと考えています(少なくとも私はそう想定しています)。 –
それは正しいです。 –