クラス AbstractRefreshableTargetSource

java.lang.ObjectSE
org.springframework.aop.target.dynamic.AbstractRefreshableTargetSource
実装されたすべてのインターフェース:
RefreshableTargetClassAwareTargetSource
既知の直属サブクラス
BeanFactoryRefreshableTargetSource

public abstract class AbstractRefreshableTargetSource extends ObjectSE implements TargetSource, Refreshable
リフレッシュ可能なターゲットオブジェクトをラップする抽象 TargetSource 実装。サブクラスは、リフレッシュが必要かどうか、および新しいターゲットオブジェクトを提供する必要があるかどうかを決定できます。

リフレッシュステータスを明示的に制御できるようにするために、Refreshable インターフェースを実装します。

導入:
2.0
作成者:
Rod Johnson, Rob Harrop, Juergen Hoeller
関連事項:
  • フィールドサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected final Log
    サブクラスで利用可能なロガー。
    protected ObjectSE
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    protected abstract ObjectSE
    新しいターゲットオブジェクトを取得します。
    long
    最後に実際のリフレッシュが行われた時刻を(タイムスタンプとして)返します。
    long
    起動後の実際のリフレッシュ回数を返します。
    final ObjectSE
    ターゲットインスタンスを返します。
    この TargetSource によって返されるターゲットの型を返します。
    boolean
    静的ではありません。
    final void
    基になるターゲットオブジェクトをリフレッシュします。
    void
    ターゲットを解放する必要はありません。
    protected boolean
    リフレッシュが必要かどうかを判断します。
    void
    setRefreshCheckDelay(long refreshCheckDelay)
    リフレッシュチェック間の遅延をミリ秒単位で設定します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • フィールドの詳細

    • logger

      protected final Log logger
      サブクラスで利用可能なロガー。
    • targetObject

      @Nullable protected ObjectSE targetObject
  • コンストラクターの詳細

    • AbstractRefreshableTargetSource

      public AbstractRefreshableTargetSource()
  • メソッドの詳細

    • setRefreshCheckDelay

      public void setRefreshCheckDelay(long refreshCheckDelay)
      リフレッシュチェック間の遅延をミリ秒単位で設定します。デフォルトは -1 で、リフレッシュチェックはまったく行われません。

      requiresRefresh() が true を返す場合にのみ、実際のリフレッシュが行われることに注意してください。

    • getTargetClass

      public ClassSE<?> getTargetClass()
      インターフェースからコピーされた説明: TargetSource
      この TargetSource によって返されるターゲットの型を返します。

      null を返すことができますが、TargetSource の特定の使用箇所は、事前定義されたターゲットクラスでのみ機能する場合があります。

      次で指定:
      インターフェース TargetClassAwaregetTargetClass 
      次で指定:
      インターフェース TargetSourcegetTargetClass 
      戻り値:
      この TargetSource によって返されるターゲットの型
    • isStatic

      public boolean isStatic()
      静的ではありません。
      次で指定:
      インターフェース TargetSourceisStatic 
      戻り値:
      true (ターゲットが不変の場合)
      関連事項:
    • getTarget

      @Nullable public final ObjectSE getTarget()
      インターフェースからコピーされた説明: TargetSource
      ターゲットインスタンスを返します。AOP フレームワークが AOP メソッド呼び出しの「ターゲット」を呼び出す直前に呼び出されます。
      次で指定:
      インターフェース TargetSourcegetTarget 
      戻り値:
      ジョインポイントを含むターゲットオブジェクト、または実際のターゲットインスタンスがない場合は null 
    • releaseTarget

      public void releaseTarget(ObjectSE object)
      ターゲットを解放する必要はありません。
      次で指定:
      インターフェース TargetSourcereleaseTarget 
      パラメーター:
      object - TargetSource.getTarget() の呼び出しから取得したオブジェクト
    • refresh

      public final void refresh()
      インターフェースからコピーされた説明: Refreshable
      基になるターゲットオブジェクトをリフレッシュします。
      次で指定:
      インターフェース Refreshablerefresh 
    • getRefreshCount

      public long getRefreshCount()
      インターフェースからコピーされた説明: Refreshable
      起動後の実際のリフレッシュ回数を返します。
      次で指定:
      インターフェース RefreshablegetRefreshCount 
    • getLastRefreshTime

      public long getLastRefreshTime()
      インターフェースからコピーされた説明: Refreshable
      最後に実際のリフレッシュが行われた時刻を(タイムスタンプとして)返します。
      次で指定:
      インターフェース RefreshablegetLastRefreshTime 
    • requiresRefresh

      protected boolean requiresRefresh()
      リフレッシュが必要かどうかを判断します。リフレッシュチェックの遅延が経過した後、リフレッシュチェックごとに呼び出されます。

      デフォルトの実装は常に true を返し、遅延が経過するたびにリフレッシュをトリガーします。基になるターゲットリソースを適切にチェックして、サブクラスによってオーバーライドされます。

      戻り値:
      リフレッシュが必要かどうか
    • freshTarget

      protected abstract ObjectSE freshTarget()
      新しいターゲットオブジェクトを取得します。

      リフレッシュが必要であることがリフレッシュチェックで検出された場合(つまり、requiresRefresh() が true を返した場合)にのみ呼び出されます。

      戻り値:
      新しいターゲットオブジェクト