public class DefaultContextCache extends java.lang.Object implements ContextCache
ContextCache API のデフォルト実装。 最大サイズと最も最近使用されていない(LRU)エビクションポリシーで構成された同期 Map を使用して、ApplicationContext インスタンスをキャッシュします。
最大サイズは、コンストラクターの引数として指定するか、システムプロパティまたは spring.test.context.cache.maxSize という Spring プロパティを介して設定できます。
ContextCacheUtils.retrieveMaxCacheSize()CONTEXT_CACHE_LOGGING_CATEGORY, DEFAULT_MAX_CONTEXT_CACHE_SIZE, MAX_CONTEXT_CACHE_SIZE_PROPERTY_NAME| コンストラクターと説明 |
|---|
DefaultContextCache()ContextCacheUtils.retrieveMaxCacheSize() で取得した最大キャッシュサイズを使用して、新しい DefaultContextCache を作成します。 |
DefaultContextCache(int maxSize) 指定された最大キャッシュサイズを使用して、新しい DefaultContextCache を作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | clear() キャッシュからすべてのコンテキストをクリアし、コンテキスト階層情報もクリアします。 |
void | clearStatistics() キャッシュのヒット数とミス数の統計をクリアします(つまり、カウンターをゼロにリセットします)。 |
boolean | contains(MergedContextConfiguration key) 指定されたキーのキャッシュされたコンテキストがあるかどうかを確認します。 |
ApplicationContext | get(MergedContextConfiguration key) 指定されたキーのキャッシュされた ApplicationContext を取得します。 |
int | getHitCount() このキャッシュの全体的なヒット数を取得します。 |
int | getMaxSize() このキャッシュの最大サイズを取得します。 |
int | getMissCount() このキャッシュの全体的なミス数を取得します。 |
int | getParentContextCount() キャッシュ内で現在追跡されている親コンテキストの数を判別します。 |
void | logStatistics() |
void | put(MergedContextConfiguration key, ApplicationContext context) 特定のキーにある ApplicationContext インスタンスをキャッシュに明示的に追加します。これにより、カスタムの排除ポリシーが適用される可能性があります。 |
void | remove(MergedContextConfiguration key, DirtiesContext.HierarchyMode hierarchyMode) 指定されたキーを持つコンテキストをキャッシュから削除し、 ConfigurableApplicationContext のインスタンスである場合は明示的に閉じます。 |
void | reset() 統計を含め、このキャッシュによって維持されているすべての状態をリセットします。 |
int | size() 現在キャッシュに格納されているコンテキストの数を確認します。 |
java.lang.String | toString() このキャッシュの実装型とその統計を含むテキスト文字列を生成します。 |
public DefaultContextCache()
ContextCacheUtils.retrieveMaxCacheSize() で取得した最大キャッシュサイズを使用して、新しい DefaultContextCache を作成します。public DefaultContextCache(int maxSize)
DefaultContextCache を作成します。maxSize - 最大キャッシュサイズ java.lang.IllegalArgumentException - 指定された maxSize 値が正でない場合 DefaultContextCache()public boolean contains(MergedContextConfiguration key)
ContextCache の contains key - コンテキストキー (非 null)true (キャッシュに指定されたキーのコンテキストが含まれている場合)@Nullable public ApplicationContext get(MergedContextConfiguration key)
ContextCache の get key - コンテキストキー (非 null)ApplicationContext インスタンス、またはキャッシュに見つからない場合は null ContextCache.remove(org.springframework.test.context.MergedContextConfiguration, org.springframework.test.annotation.DirtiesContext.HierarchyMode)public void put(MergedContextConfiguration key, ApplicationContext context)
ApplicationContext インスタンスをキャッシュに明示的に追加します。これにより、カスタムの排除ポリシーが適用される可能性があります。ContextCache の put key - コンテキストキー (非 null)context - ApplicationContext インスタンス (非 null)public void remove(MergedContextConfiguration key, @Nullable DirtiesContext.HierarchyMode hierarchyMode)
ConfigurableApplicationContext のインスタンスである場合は明示的に閉じます。一般的に、このメソッドは、キャッシュからコンテキストを適切に削除するために(たとえば、カスタムエビクションポリシーが原因で)、シングルトン Bean の状態が変更され、コンテキストとの今後の相互作用に影響を与える可能性がある場合に呼び出す必要があります。
さらに、提供された HierarchyMode のセマンティクスを尊重する必要があります。詳細については、DirtiesContext.HierarchyMode の Javadoc を参照してください。
ContextCache の remove key - コンテキストキー。nullhierarchyMode - 階層モード。コンテキストが階層の一部ではない場合、null である可能性があります public int size()
キャッシュに Integer.MAX_VALUE 要素より多く含まれている場合、このメソッドは Integer.MAX_VALUE を返す必要があります。
ContextCache の size public int getMaxSize()
public int getParentContextCount()
ContextCache の getParentContextCount public int getHitCount()
ヒットとは、クエリされたキーに対して null 以外のコンテキストを返すキャッシュへのアクセスです。
ContextCache の getHitCount public int getMissCount()
ミスとは、クエリされたキーの null コンテキストを返すキャッシュへのアクセスです。
ContextCache の getMissCount public void reset()
ContextCache の reset ContextCache.clear(), ContextCache.clearStatistics()public void clear()
ContextCache の clear public void clearStatistics()
ContextCache の clearStatistics public void logStatistics()
ContextCache の統計を DEBUG レベルで記録します。次の情報がログに記録されます。
ContextCache 実装の名前 ContextCache の logStatistics public java.lang.String toString()
このメソッドによって返される文字列には、logStatistics() の契約に準拠するために必要なすべての情報が含まれています。
java.lang.Object の toString