Spring Core Advice API docs定義されたアドバイスの2種類があります。で
- クラスごとのアドバイス - 「プロキシになるオブジェクトの状態に依存したり新しい状態を追加」してはならない
- インスタンスごとのアドバイス - のJavadocあたり、
RequestHandlerRetryAdvice「をプロキシオブジェクトに状態を追加」と、ステートレス操作のステートフル・モードを有します。
RequestHandlerRetryAdviceをクラスごとのアドバイスとして使用できる条件はありますか。 (つまり、単一のBeanを使用して複数のハンドラに助言する)。
「ステートレスモード」はクラスごとのアドバイスとして使用できますか?
"ステートフルモード"のインスタンスをクラスごとのアドバイスとして使用できますか?
RequestHandlerRetryAdviceがプロキシオブジェクトに状態を追加するかどうかについての情報は、Spring Coreリファレンスに記載されているように、クラス単位/オブジェクト単位のアドバイスの条件基準を適用するために必要な条件です。
ステートフルモードでは、アドバイスをクラスごとに使用することはできません。
ステートレスモードでは、状態を拡張するかどうかは不明ですが、 (複数のハンドラによって共有されている場合は、最大で1人が何度も再試行アドバイスを使用する必要があります)
an answer in another postは、スレッドセーフであるため、常に可能であることを示します。しかし、Spring Coreのリファレンスドキュメント(上記参照)によると、この条件はクラスごとの使用を許可するには不十分です。
ステートレスリトライについては、これはいつでも安全ですよね? (私はちょうど確かめたい - アドバイスの下のオブジェクト階層のどれも状態を保持していないということだけをコードから読み取ることはできませんでした) –
;維持する状態はありません。サーキットブレーカのアドバイスも安全です。各ターゲットの状態を維持します。 –
すべてクリアです。ありがとうございました ! –