クラス AbstractFallbackCacheOperationSource

java.lang.ObjectSE
org.springframework.cache.interceptor.AbstractFallbackCacheOperationSource
実装されたすべてのインターフェース:
CacheOperationSource
既知の直属サブクラス
AnnotationCacheOperationSource

public abstract class AbstractFallbackCacheOperationSource extends ObjectSE implements CacheOperationSource
メソッドの属性をキャッシュし、フォールバックポリシーを実装する CacheOperation の抽象的な実装: 1. 特定のターゲットメソッド。2. ターゲットクラス。3. メソッドの宣言 ; 4. クラス / インターフェースを宣言します。

ターゲットメソッドに何も関連付けられていない場合は、デフォルトでターゲットクラスのキャッシュ属性が使用されます。ターゲットメソッドに関連付けられたキャッシュ属性は、クラスキャッシュ属性を完全にオーバーライドします。ターゲットクラスに何も見つからない場合、呼び出されたメソッドが呼び出されたインターフェース(JDK プロキシの場合)がチェックされます。

この実装は、属性が最初に使用された後、メソッドによって属性をキャッシュします。キャッシュ可能な属性を動的に変更できるようにすることが望ましい場合(これは非常にまれです)、キャッシュを構成可能にすることができます。

導入:
3.1
作成者:
Costin Leau, Juergen Hoeller
  • フィールドの詳細

    • logger

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

      この基本クラスは Serializable としてマークされていないため、具象サブクラスが Serializable である場合、直列化後にロガーが再作成されます。

  • コンストラクターの詳細

    • AbstractFallbackCacheOperationSource

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

    • getCacheOperations

      @Nullable public CollectionSE<CacheOperation> getCacheOperations(MethodSE method, @Nullable ClassSE<?> targetClass)
      このメソッド呼び出しのキャッシュ属性を決定します。

      メソッド属性が見つからない場合、デフォルトでクラスのキャッシング属性になります。

      次で指定:
      インターフェース CacheOperationSourcegetCacheOperations 
      パラメーター:
      method - 現在の呼び出しのメソッド (非 null)
      targetClass - この呼び出しのターゲットクラス (null の場合があります)
      戻り値:
      このメソッドの CacheOperation、またはメソッドがキャッシュ可能でない場合は null 
    • getCacheKey

      protected ObjectSE getCacheKey(MethodSE method, @Nullable ClassSE<?> targetClass)
      指定されたメソッドとターゲットクラスのキャッシュキーを決定します。

      オーバーロードされたメソッドに対して同じキーを生成してはなりません。同じメソッドの異なるインスタンスに対して同じキーを生成する必要があります。

      パラメーター:
      method - メソッド (非 null)
      targetClass - ターゲットクラス (null の場合があります)
      戻り値:
      キャッシュキー (非 null)
    • findCacheOperations

      @Nullable protected abstract CollectionSE<CacheOperation> findCacheOperations(ClassSE<?> clazz)
      サブクラスは、指定されたクラスのキャッシング属性があれば、それを返すためにこれを実装する必要があります。
      パラメーター:
      clazz - 属性を取得するクラス
      戻り値:
      このクラスに関連付けられているすべてのキャッシング属性。存在しない場合は null 
    • findCacheOperations

      @Nullable protected abstract CollectionSE<CacheOperation> findCacheOperations(MethodSE method)
      サブクラスは、これを実装して、指定されたメソッドのキャッシュ属性を返す必要があります(存在する場合)。
      パラメーター:
      method - 属性を取得するメソッド
      戻り値:
      このメソッドに関連付けられているすべてのキャッシング属性。存在しない場合は null 
    • allowPublicMethodsOnly

      protected boolean allowPublicMethodsOnly()
      public メソッドのみにキャッシュセマンティクスを許可する必要がありますか?

      デフォルトの実装は false を返します。