クラス DefaultContextCache
- 実装されているすべてのインターフェース:
ContextCache
ContextCache API のデフォルト実装。 最大サイズと最も最近使用されていない(LRU)エビクションポリシーで構成された同期された MapSE を使用して、ApplicationContext インスタンスをキャッシュします。
最大サイズは、コンストラクターの引数として指定するか、システムプロパティまたは "spring.test.context.cache.maxSize" という名前の Spring プロパティを介して設定できます。
- 導入:
- 2.5
- 作成者:
- Sam Brannen, Juergen Hoeller
- 関連事項:
フィールドのサマリー
インターフェース org.springframework.test.context.cache.ContextCache から継承されたフィールド
CONTEXT_CACHE_LOGGING_CATEGORY, DEFAULT_MAX_CONTEXT_CACHE_SIZE, MAX_CONTEXT_CACHE_SIZE_PROPERTY_NAMEコンストラクターの概要
コンストラクターコンストラクター説明ContextCacheUtils.retrieveMaxCacheSize()で取得した最大キャッシュサイズを使用して、新しいDefaultContextCacheを作成します。DefaultContextCache(int maxSize) 指定された最大キャッシュサイズを使用して、新しいDefaultContextCacheを作成します。メソッドのサマリー
修飾子と型メソッド説明voidclear()キャッシュからすべてのコンテキストをクリアし、コンテキスト階層情報もクリアします。voidboolean指定されたキーのキャッシュされたコンテキストがあるかどうかを確認します。指定されたキーのキャッシュされたApplicationContextを取得します。int指定されたキーの失敗回数を取得します。intこのキャッシュの全体的なヒット数を取得します。intこのキャッシュの最大サイズを取得します。intこのキャッシュの全体的なミス数を取得します。intキャッシュ内で現在追跡されている親コンテキストの数を判別します。void指定されたキーの失敗回数を増やします。voidvoidput(MergedContextConfiguration key, ApplicationContext context) 特定のキーにあるApplicationContextインスタンスをキャッシュに明示的に追加します。これにより、カスタムの排除ポリシーが適用される可能性があります。voidremove(MergedContextConfiguration key, DirtiesContext.HierarchyMode hierarchyMode) 指定されたキーを持つコンテキストをキャッシュから削除し、ConfigurableApplicationContextのインスタンスである場合は明示的に閉じます。voidreset()統計を含め、このキャッシュによって維持されているすべての状態をリセットします。intsize()現在キャッシュに格納されているコンテキストの数を確認します。toString()このキャッシュの実装型とその統計を含むテキスト文字列を生成します。
コンストラクターの詳細
DefaultContextCache
public DefaultContextCache()ContextCacheUtils.retrieveMaxCacheSize()で取得した最大キャッシュサイズを使用して、新しいDefaultContextCacheを作成します。DefaultContextCache
public DefaultContextCache(int maxSize) 指定された最大キャッシュサイズを使用して、新しいDefaultContextCacheを作成します。- パラメーター:
maxSize- 最大キャッシュサイズ- 例外:
IllegalArgumentExceptionSE- 指定されたmaxSize値が正でない場合- 導入:
- 4.3
- 関連事項:
メソッドの詳細
contains
インターフェースからコピーされた説明:ContextCache指定されたキーのキャッシュされたコンテキストがあるかどうかを確認します。- 次で指定:
- インターフェース
ContextCacheのcontains - パラメーター:
key- コンテキストキー (非null)- 戻り値:
true(キャッシュに指定されたキーのコンテキストが含まれている場合)
get
インターフェースからコピーされた説明:ContextCache- 次で指定:
- インターフェース
ContextCacheのget - パラメーター:
key- コンテキストキー (非null)- 戻り値:
- 対応する
ApplicationContextインスタンス、またはキャッシュに見つからない場合はnull - 関連事項:
put
インターフェースからコピーされた説明:ContextCache特定のキーにあるApplicationContextインスタンスをキャッシュに明示的に追加します。これにより、カスタムの排除ポリシーが適用される可能性があります。- 次で指定:
- インターフェース
ContextCacheのput - パラメーター:
key- コンテキストキー (非null)context-ApplicationContextインスタンス (非null)
remove
public void remove(MergedContextConfiguration key, @Nullable DirtiesContext.HierarchyMode hierarchyMode) インターフェースからコピーされた説明:ContextCache指定されたキーを持つコンテキストをキャッシュから削除し、ConfigurableApplicationContextのインスタンスである場合は明示的に閉じます。一般的に、このメソッドは、コンテキストをキャッシュから適切に削除するため (たとえば、カスタム削除ポリシーのため)、シングルトン Bean の状態が変更され、コンテキストとの将来の対話に影響を与える可能性がある場合に呼び出す必要があります。
さらに、提供された
HierarchyModeのセマンティクスを尊重する必要があります。詳細については、DirtiesContext.HierarchyModeの Javadoc を参照してください。- 次で指定:
- インターフェース
ContextCacheのremove - パラメーター:
key- コンテキストキー。nullhierarchyMode- 階層モード。コンテキストが階層の一部ではない場合、nullである可能性があります
getFailureCount
インターフェースからコピーされた説明:ContextCache指定されたキーの失敗回数を取得します。失敗とは、指定されたキーの
ApplicationContextをロードしようとして例外が発生することです。このメソッドのデフォルト実装は常に
0を返します。具体的な実装では、このメソッドとContextCache.incrementFailureCount(MergedContextConfiguration)を適切な動作でオーバーライドすることを強くお勧めします。Spring の標準ContextContext実装は、これらのメソッドを適切にオーバーライドすることに注意してください。- 次で指定:
- インターフェース
ContextCacheのgetFailureCount - パラメーター:
key- コンテキストキー。null- 関連事項:
incrementFailureCount
インターフェースからコピーされた説明:ContextCache指定されたキーの失敗回数を増やします。このメソッドのデフォルトの実装では何も行われません。具体的な実装では、このメソッドと
ContextCache.getFailureCount(MergedContextConfiguration)を適切な動作でオーバーライドすることを強くお勧めします。Spring の標準ContextContext実装は、これらのメソッドを適切にオーバーライドすることに注意してください。- 次で指定:
- インターフェース
ContextCacheのincrementFailureCount - パラメーター:
key- コンテキストキー。null- 関連事項:
size
public int size()インターフェースからコピーされた説明:ContextCache現在キャッシュに格納されているコンテキストの数を確認します。キャッシュに
Integer.MAX_VALUE要素より多く含まれている場合、このメソッドはInteger.MAX_VALUEを返す必要があります。- 次で指定:
- インターフェース
ContextCacheのsize
getMaxSize
public int getMaxSize()このキャッシュの最大サイズを取得します。getParentContextCount
public int getParentContextCount()インターフェースからコピーされた説明:ContextCacheキャッシュ内で現在追跡されている親コンテキストの数を判別します。- 次で指定:
- インターフェース
ContextCacheのgetParentContextCount
getHitCount
public int getHitCount()インターフェースからコピーされた説明:ContextCacheこのキャッシュの全体的なヒット数を取得します。ヒットとは、クエリされたキーに対して null 以外のコンテキストを返すキャッシュへのアクセスです。
- 次で指定:
- インターフェース
ContextCacheのgetHitCount
getMissCount
public int getMissCount()インターフェースからコピーされた説明:ContextCacheこのキャッシュの全体的なミス数を取得します。ミスとは、クエリされたキーの
nullコンテキストを返すキャッシュへのアクセスです。- 次で指定:
- インターフェース
ContextCacheのgetMissCount
reset
public void reset()インターフェースからコピーされた説明:ContextCache統計を含め、このキャッシュによって維持されているすべての状態をリセットします。- 次で指定:
- インターフェース
ContextCacheのreset - 関連事項:
clear
public void clear()インターフェースからコピーされた説明:ContextCacheキャッシュからすべてのコンテキストをクリアし、コンテキスト階層情報もクリアします。- 次で指定:
- インターフェース
ContextCacheのclear
clearStatistics
public void clearStatistics()インターフェースからコピーされた説明:ContextCache- 次で指定:
- インターフェース
ContextCacheのclearStatistics
logStatistics
public void logStatistics()インターフェースからコピーされた説明:ContextCache"org.springframework.test.context.cache" ロギングカテゴリを使用して、このContextCacheの統計をDEBUGレベルで記録します。次の情報がログに記録されます。
- 具体的な
ContextCache実装の名前 - ContextCache.size()
- 親コンテキスト数
- ヒットカウント
- ミスカウント
- このキャッシュの状態を監視するのに役立つその他の情報
- 次で指定:
- インターフェース
ContextCacheのlogStatistics
- 具体的な
toString
このキャッシュの実装型とその統計を含むテキスト文字列を生成します。このメソッドによって返される文字列には、
logStatistics()の契約に準拠するために必要なすべての情報が含まれています。