public final class ExposeInvocationInterceptor extends ObjectSE implements MethodInterceptor, PriorityOrdered, SerializableSE
MethodInvocation をスレッドローカルオブジェクトとして公開するインターセプター。時々これを行う必要があります。たとえば、ポイントカット(AspectJ 式のポイントカットなど)が完全な呼び出しコンテキストを知る必要がある場合。これが本当に必要でない限り、このインターセプターを使用しないでください。これは Spring API への依存関係を作成するため、通常、ターゲットオブジェクトは Spring AOP について知らないはずです。ターゲットオブジェクトは、可能な限りプレーン POJO である必要があります。
使用する場合、このインターセプターは通常、インターセプターチェーンの最初になります。
| 修飾子と型 | フィールドと説明 |
|---|---|
static Advisor | ADVISOR このクラスのシングルトンアドバイザー。 |
static ExposeInvocationInterceptor | INSTANCE このクラスのシングルトンインスタンス。 |
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE| 修飾子と型 | メソッドと説明 |
|---|---|
static MethodInvocation | currentInvocation() 現在の呼び出しに関連付けられている AOP Alliance MethodInvocation オブジェクトを返します。 |
int | getOrder() このオブジェクトの順序値を取得します。 |
ObjectSE | invoke(MethodInvocation mi) このメソッドを実装して、呼び出しの前後に追加の処理を実行します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic static final ExposeInvocationInterceptor INSTANCE
public static final Advisor ADVISOR
public static MethodInvocation currentInvocation() throws IllegalStateExceptionSE
IllegalStateExceptionSE - 進行中の AOP 呼び出しがない場合、または ExposeInvocationInterceptor がこのインターセプターチェーンに追加されなかった場合 public ObjectSE invoke(MethodInvocation mi) throws ThrowableSE
MethodInterceptorJoinpoint.proceed() を呼び出すようにします。MethodInterceptor の invoke mi - メソッド呼び出しジョインポイント Joinpoint.proceed() の呼び出しの結果。インターセプターによってインターセプトされる可能性があります ThrowableSE - インターセプターまたはターゲットオブジェクトが例外をスローする場合 public int getOrder()
Ordered 値が高いほど、優先度は低くなります。結果として、最も低い値を持つオブジェクトが最高の優先度を持ちます(サーブレット load-on-startup の値に多少似ています)。
同じ順序の値は、影響を受けるオブジェクトの任意のソート位置になります。
Ordered の getOrder Ordered.HIGHEST_PRECEDENCE, Ordered.LOWEST_PRECEDENCE