上下文失败阈值

从 Spring Framework 6.1 开始,实施了一种上下文失败阈值策略,有助于避免重复尝试加载失败的ApplicationContext。默认情况下,失败阈值设置为1,这意味着只会尝试一次加载给定上下文缓存密钥的ApplicationContext(请参阅上下文缓存)。随后对相同上下文缓存密钥尝试加载ApplicationContext将导致立即出现IllegalStateException,并显示一条错误消息,说明已抢先跳过该尝试。此行为允许单个测试类和测试套件通过避免重复尝试加载永远不会成功加载的ApplicationContext来更快地失败,例如,由于配置错误或缺少阻止上下文在当前环境中加载的外部资源。

您可以通过设置名为spring.test.context.failure.threshold的 JVM 系统属性(具有正整数)从命令行或构建脚本中配置上下文失败阈值。或者,您可以通过SpringProperties机制设置相同的属性。

如果您希望有效地禁用上下文失败阈值,可以将属性设置为一个非常大的值。例如,从命令行,您可以通过-Dspring.test.context.failure.threshold=1000000设置系统属性。