コンテキスト障害のしきい値

Spring Framework 6.1 では、コンテキスト障害しきい値ポリシーが導入されており、障害のある ApplicationContext をロードしようとする繰り返しの試行を回避できます。デフォルトでは、失敗しきい値は 1 に設定されています。これは、特定のコンテキストキャッシュキーに対して ApplicationContext のロードが 1 回だけ試行されることを意味します ( コンテキストキャッシングを参照)。その後、同じコンテキストキャッシュキーに対して ApplicationContext をロードしようとすると、試行が先制的にスキップされたことを説明するエラーメッセージが表示された IllegalStateException が即座に生成されます。この動作により、たとえば、現在の環境でコンテキストをロードできない構成エラーや外部リソースの欠落が原因で、正常にロードされない ApplicationContext のロード試行を繰り返し行うことが回避され、個々のテストクラスとテストスイートの失敗が早くなります。

spring.test.context.failure.threshold という名前の JVM システムプロパティに正の整数値を設定することで、コマンドラインまたはビルドスクリプトからコンテキスト障害のしきい値を構成できます。代わりに、SpringProperties メカニズムを介して同じプロパティを設定できます。

コンテキスト障害のしきい値を効果的に無効にしたい場合は、プロパティを非常に大きな値に設定できます。例: コマンドラインから -Dspring.test.context.failure.threshold=1000000 を介してシステムプロパティを設定できます。