跳到主要内容

上下文失败阈值

DeepSeek V3 中英对照 Context Failure Threshold

自 Spring Framework 6.1 起,引入了一种上下文失败阈值策略,该策略有助于避免重复尝试加载失败的 ApplicationContext。默认情况下,失败阈值设置为 1,这意味着对于给定的上下文缓存键(参见上下文缓存),只会尝试加载一次 ApplicationContext。任何后续尝试加载相同上下文缓存键的 ApplicationContext 都会立即抛出 IllegalStateException,并附带一条错误消息,解释该尝试已被预先跳过。这种行为允许单独的测试类和测试套件更快地失败,避免重复尝试加载一个永远不会成功加载的 ApplicationContext——例如,由于配置错误或缺少在当前环境中阻止上下文加载的外部资源。

你可以通过命令行或构建脚本配置上下文失败阈值,方法是设置一个名为 spring.test.context.failure.threshold 的 JVM 系统属性,并赋予一个正整数作为值。或者,你也可以通过 SpringProperties 机制设置相同的属性。

备注

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