クラス DefaultContextCache
- 実装されたすべてのインターフェース:
ContextCache
ContextCache
API のデフォルト実装。 最大サイズと最も最近使用されていない(LRU)エビクションポリシーで構成された同期された Map
SE を使用して、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
を作成します。メソッドのサマリー
修飾子と型メソッド説明void
clear()
キャッシュからすべてのコンテキストをクリアし、コンテキスト階層情報もクリアします。void
boolean
指定されたキーのキャッシュされたコンテキストがあるかどうかを確認します。指定されたキーのキャッシュされたApplicationContext
を取得します。int
指定されたキーの失敗回数を取得します。int
このキャッシュの全体的なヒット数を取得します。int
このキャッシュの最大サイズを取得します。int
このキャッシュの全体的なミス数を取得します。int
キャッシュ内で現在追跡されている親コンテキストの数を判別します。void
指定されたキーの失敗回数を増やします。void
void
put
(MergedContextConfiguration key, ApplicationContext context) 特定のキーにあるApplicationContext
インスタンスをキャッシュに明示的に追加します。これにより、カスタムの排除ポリシーが適用される可能性があります。void
remove
(MergedContextConfiguration key, DirtiesContext.HierarchyMode hierarchyMode) 指定されたキーを持つコンテキストをキャッシュから削除し、ConfigurableApplicationContext
のインスタンスである場合は明示的に閉じます。void
reset()
統計を含め、このキャッシュによって維持されているすべての状態をリセットします。int
size()
現在キャッシュに格納されているコンテキストの数を確認します。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
- コンテキストキー。null
hierarchyMode
- 階層モード。コンテキストが階層の一部ではない場合、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()
の契約に準拠するために必要なすべての情報が含まれています。