クラス CacheAspectSupport

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

public abstract class CacheAspectSupport extends AbstractCacheInvoker implements BeanFactoryAware, InitializingBean, SmartInitializingSingleton
CacheInterceptor や AspectJ アスペクトなど、アスペクトをキャッシュするための基本クラス。

これにより、基になる Spring キャッシングインフラストラクチャを簡単に使用して、任意のアスペクトシステムのアスペクトを実装できます。

サブクラスは、関連するメソッドを正しい順序で呼び出す責任があります。

戦略設計パターンを使用します。CacheOperationSource はキャッシュ操作の決定に使用され、KeyGenerator はキャッシュキーを構築し、CacheResolver は実際に使用するキャッシュを解決します。

メモ: キャッシュアスペクトは直列化可能ですが、逆直列化後に実際のキャッシュを実行しません。

導入:
3.1
作成者:
Costin Leau, Juergen Hoeller, Chris Beams, Phillip Webb, Sam Brannen, Stephane Nicoll, Sebastien Deleuze
  • フィールドの詳細

    • IGNORE_REACTIVESTREAMS_PROPERTY_NAME

      public static final StringSE IGNORE_REACTIVESTREAMS_PROPERTY_NAME
      Spring のキャッシュインフラストラクチャに、Reactive Streams、特に Cacheable メソッドの戻り値の型宣言内の Reactor の Mono/Flux の存在を無視するように指示するシステムプロパティ。

      デフォルトでは、6.1 の時点で、Reactor の Mono/Flux などの Reactive Streams パブリッシャーは、返された Publisher インスタンス自体をキャッシュしようとするのではなく、生成された値の非同期キャッシュのために特別に処理されます。

      Reactive Streams パブリッシャーを無視し、同期キャッシュを通じて通常の戻り値として処理し、6.0 の動作を復元するには、このフラグを "true" に切り替えます。これは推奨されず、非常に限られたシナリオでのみ機能することに注意してください。手動の Mono.cache()/Flux.cache() 呼び出しを使用します。

      導入:
      6.1.3
      関連事項:
    • logger

      protected final Log logger
  • コンストラクターの詳細

    • CacheAspectSupport

      protected CacheAspectSupport()
  • メソッドの詳細