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, waitSE
public 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
MethodInterceptor
Joinpoint.proceed()
を呼び出すようにします。MethodInterceptor
の invoke
mi
- メソッド呼び出しジョインポイント Joinpoint.proceed()
の呼び出しの結果。インターセプターによってインターセプトされる可能性があります ThrowableSE
- インターセプターまたはターゲットオブジェクトが例外をスローする場合 public int getOrder()
Ordered
値が高いほど、優先度は低くなります。結果として、最も低い値を持つオブジェクトが最高の優先度を持ちます(サーブレット load-on-startup
の値に多少似ています)。
同じ順序の値は、影響を受けるオブジェクトの任意のソート位置になります。
Ordered
の getOrder
Ordered.HIGHEST_PRECEDENCE
, Ordered.LOWEST_PRECEDENCE