クラス ExposeInvocationInterceptor

java.lang.ObjectSE
org.springframework.aop.interceptor.ExposeInvocationInterceptor
実装されたすべてのインターフェース:
SerializableSEAdviceInterceptorMethodInterceptorOrderedPriorityOrdered

public final class ExposeInvocationInterceptor extends ObjectSE implements MethodInterceptor, PriorityOrdered, SerializableSE
現在の MethodInvocation をスレッドローカルオブジェクトとして公開するインターセプター。時々これを行う必要があります。たとえば、ポイントカット(AspectJ 式のポイントカットなど)が完全な呼び出しコンテキストを知る必要がある場合。

これが本当に必要でない限り、このインターセプターを使用しないでください。これは Spring API への依存関係を作成するため、通常、ターゲットオブジェクトは Spring AOP について知らないはずです。ターゲットオブジェクトは、可能な限りプレーン POJO である必要があります。

使用する場合、このインターセプターは通常、インターセプターチェーンの最初になります。

作成者:
Rod Johnson, Juergen Hoeller
関連事項:
  • フィールドの詳細

    • INSTANCE

      public static final ExposeInvocationInterceptor INSTANCE
      このクラスのシングルトンインスタンス。
    • ADVISOR

      public static final Advisor ADVISOR
      このクラスのシングルトンアドバイザー。Spring AOP を使用する場合、インスタンスをラップするために新しい Advisor を作成する必要がなくなるため、INSTANCE よりも優先して使用します。
  • メソッドの詳細

    • currentInvocation

      public static MethodInvocation currentInvocation() throws IllegalStateExceptionSE
      現在の呼び出しに関連付けられている AOP Alliance MethodInvocation オブジェクトを返します。
      戻り値:
      現在の呼び出しに関連付けられている呼び出しオブジェクト
      例外:
      IllegalStateExceptionSE - 進行中の AOP 呼び出しがない場合、または ExposeInvocationInterceptor がこのインターセプターチェーンに追加されなかった場合
    • invoke

      @Nullable public ObjectSE invoke(MethodInvocation mi) throws ThrowableSE
      インターフェースからコピーされた説明: MethodInterceptor
      このメソッドを実装して、呼び出しの前後に追加の処理を実行します。正しい実装としては、必ず Joinpoint.proceed() を呼び出すようにします。
      次で指定:
      インターフェース MethodInterceptorinvoke 
      パラメーター:
      mi - メソッド呼び出しジョインポイント
      戻り値:
      Joinpoint.proceed() の呼び出しの結果。インターセプターによってインターセプトされる可能性があります
      例外:
      ThrowableSE - インターセプターまたはターゲットオブジェクトが例外をスローする場合
    • getOrder

      public int getOrder()
      インターフェースからコピーされた説明: Ordered
      このオブジェクトの順序値を取得します。

      値が高いほど、優先度は低くなります。結果として、最も低い値を持つオブジェクトが最高の優先度を持ちます(サーブレット load-on-startup の値に多少似ています)。

      同じ順序の値は、影響を受けるオブジェクトの任意のソート位置になります。

      次で指定:
      インターフェース OrderedgetOrder 
      戻り値:
      オーダー額
      関連事項: