クラス DefaultCacheAwareContextLoaderDelegate
- 実装されているすべてのインターフェース:
- CacheAwareContextLoaderDelegate
CacheAwareContextLoaderDelegate 戦略のデフォルト実装。 静的 DefaultContextCache を使用するには、DefaultCacheAwareContextLoaderDelegate() コンストラクターを呼び出します。それ以外の場合は、DefaultCacheAwareContextLoaderDelegate(ContextCache) を呼び出して、カスタム ContextCache 実装を提供します。
Spring Framework 6.0 の時点で、このクラスは SpringFactoriesLoader メカニズムを介して ApplicationContextFailureProcessor 実装をロードし、loadContext(MergedContextConfiguration) でそれらに委譲して、コンテキストのロードエラーを処理します。
Spring Framework 6.1 以降、このクラスは CacheAwareContextLoaderDelegate.loadContext(org.springframework.test.context.MergedContextConfiguration) で説明されている障害しきい値機能をサポートし、使用するしきい値の取得を ContextCacheUtils.retrieveContextFailureThreshold() に委譲します。
- 導入:
- 4.1
- 作成者:
- Sam Brannen
- フィールドのサマリー- インターフェース org.springframework.test.context.CacheAwareContextLoaderDelegate から継承されたフィールド- CONTEXT_FAILURE_THRESHOLD_PROPERTY_NAME, DEFAULT_CONTEXT_FAILURE_THRESHOLD
- コンストラクターの概要コンストラクターコンストラクター説明静的- DefaultContextCacheを使用して新しい- DefaultCacheAwareContextLoaderDelegateを構築します。- DefaultCacheAwareContextLoaderDelegate- (ContextCache contextCache) 提供された- ContextCacheとデフォルトまたはユーザー設定のコンテキスト障害しきい値を使用して、新しい- DefaultCacheAwareContextLoaderDelegateを構築します。
- メソッドのサマリー修飾子と型メソッド説明- void- closeContext- (MergedContextConfiguration mergedConfig, DirtiesContext.HierarchyMode hierarchyMode) 提供された- MergedContextConfigurationのアプリケーションコンテキストを- ContextCacheから削除し、それが- ConfigurableApplicationContextのインスタンスである場合は閉じます。- protected ContextCacheこのコンテキストローダーデリゲートによって使用される- ContextCacheを取得します。- boolean- isContextLoaded- (MergedContextConfiguration mergedConfig) - loadContext- (MergedContextConfiguration mergedConfig) 指定された- MergedContextConfigurationで構成された- ContextLoaderに委譲することにより、提供された- MergedContextConfigurationのアプリケーションコンテキストをロードします。- protected ApplicationContext- loadContextInAotMode- (org.springframework.test.context.cache.AotMergedContextConfiguration aotMergedConfig) - protected ApplicationContext- loadContextInternal- (MergedContextConfiguration mergedConfig) 提供されたマージされたコンテキスト構成の- ApplicationContextをロードします。
- コンストラクターの詳細- DefaultCacheAwareContextLoaderDelegatepublic DefaultCacheAwareContextLoaderDelegate()静的- DefaultContextCacheを使用して新しい- DefaultCacheAwareContextLoaderDelegateを構築します。- デフォルトのキャッシュは静的であるため、各コンテキストをキャッシュして、同じ JVM プロセス内で同じ一意のコンテキスト設定を宣言する後続のすべてのテストで再利用できます。 
- DefaultCacheAwareContextLoaderDelegate提供された- ContextCacheとデフォルトまたはユーザー設定のコンテキスト障害しきい値を使用して、新しい- DefaultCacheAwareContextLoaderDelegateを構築します。
 
- メソッドの詳細- isContextLoadedインターフェースからコピーされた説明:- CacheAwareContextLoaderDelegate提供された- MergedContextConfigurationのアプリケーションコンテキストがロードされている(つまり、- ContextCacheに存在する)かどうかを判別します。- このメソッドの実装は、副作用としてアプリケーションコンテキストをロードしてはなりません。さらに、このメソッドの実装は - ContextCache.logStatistics()を介してキャッシュ統計を記録するべきではありません。- このメソッドのデフォルト実装は、常に - falseを返します。カスタム- CacheAwareContextLoaderDelegate実装では、このメソッドをより意味のある実装でオーバーライドすることを強くお勧めします。Spring の標準- CacheAwareContextLoaderDelegate実装がこのメソッドを適切にオーバーライドすることに注意してください。- 次で指定:
-  インターフェース CacheAwareContextLoaderDelegateのisContextLoaded
- パラメーター:
- mergedConfig- アプリケーションコンテキストのロードに使用されるマージされたコンテキスト構成。非- null
- 戻り値:
- true(アプリケーションコンテキストがロードされている場合)
- 関連事項:
 
- loadContextインターフェースからコピーされた説明:- CacheAwareContextLoaderDelegate指定された- MergedContextConfigurationで構成された- ContextLoaderに委譲することにより、提供された- MergedContextConfigurationのアプリケーションコンテキストをロードします。- ContextCacheにコンテキストが存在する場合は、単に返されます。それ以外の場合は、ロードされてキャッシュに保存され、返されます。- Spring Framework 6.0 の時点で、このメソッドの実装は - SpringFactoriesLoaderメカニズムを介して- ApplicationContextFailureProcessor実装をロードし、- ContextLoaderによってスローされた例外をキャッチし、例外が- ContextLoadExceptionのインスタンスである場合、コンテキストのロードの失敗を処理するために構成された各失敗プロセッサーに委譲する必要があります。- Spring Framework 6.1 以降、このメソッドの実装では障害しきい値機能をサポートすることが推奨されています。具体的には、アプリケーションコンテキストのロードが繰り返し試行され、そのアプリケーションコンテキストのロードが常に失敗する場合 (たとえば、コンテキストの正常なロードを妨げる構成エラーが原因)、構成された失敗しきい値が以下の場合、このメソッドはプリエンプティブに - IllegalStateExceptionSE をスローする必要があります。超えてしまった。- ContextCacheは、特定のコンテキストキャッシュキーの失敗カウントの追跡と増分をサポートしていることに注意してください。- キャッシュ統計は、 - ContextCache.logStatistics()を呼び出して記録する必要があります。- 次で指定:
-  インターフェース CacheAwareContextLoaderDelegateのloadContext
- パラメーター:
- mergedConfig- アプリケーションコンテキストのロードに使用するマージされたコンテキスト構成。非- null
- 戻り値:
-  アプリケーションコンテキスト (非 null)
- 関連事項:
- CacheAwareContextLoaderDelegate.isContextLoaded(org.springframework.test.context.MergedContextConfiguration)
- CacheAwareContextLoaderDelegate.closeContext(org.springframework.test.context.MergedContextConfiguration, org.springframework.test.annotation.DirtiesContext.HierarchyMode)
- CacheAwareContextLoaderDelegate.CONTEXT_FAILURE_THRESHOLD_PROPERTY_NAME
 
 
- closeContextpublic void closeContext- (MergedContextConfiguration mergedConfig, @Nullable DirtiesContext.HierarchyMode hierarchyMode) インターフェースからコピーされた説明:- CacheAwareContextLoaderDelegate提供された- MergedContextConfigurationのアプリケーションコンテキストを- ContextCacheから削除し、それが- ConfigurableApplicationContextのインスタンスである場合は閉じます。- コンテキストをキャッシュから削除するときは、提供された - HierarchyModeのセマンティクスを順守する必要があります。詳細については、- DirtiesContext.HierarchyModeの Javadoc を参照してください。- 一般的に、このメソッドはシングルトン Bean の状態が変更された場合(コンテキストとの将来の対話に影響する可能性がある場合)、またはコンテキストをキャッシュから時期尚早に削除する必要がある場合にのみ呼び出す必要があります。 - 次で指定:
-  インターフェース CacheAwareContextLoaderDelegateのcloseContext
- パラメーター:
- mergedConfig- クローズするアプリケーションコンテキストのマージされたコンテキスト構成。非- null
- hierarchyMode- 階層モード。コンテキストが階層の一部ではない場合、- nullである可能性があります
- 関連事項:
 
- getContextCacheこのコンテキストローダーデリゲートによって使用される- ContextCacheを取得します。
- loadContextInternalprotected ApplicationContext loadContextInternal- (MergedContextConfiguration mergedConfig) throws ExceptionSE 提供されたマージされたコンテキスト構成の- ApplicationContextをロードします。- SmartContextLoaderおよび- ContextLoaderSPI の両方をサポートします。- 例外:
- ExceptionSE- アプリケーションコンテキストのロード中にエラーが発生した場合
 
- loadContextInAotModeprotected ApplicationContext loadContextInAotMode- (org.springframework.test.context.cache.AotMergedContextConfiguration aotMergedConfig) throws ExceptionSE - 例外:
- ExceptionSE