【发布时间】:2017-03-09 09:09:53
【问题描述】:
我们有一个应用程序在启动时使用 Spring 的 AnnotationConfigApplicationContext 创建 bean。我们正在尝试做的不是让 Spring 销毁所有创建的 bean,因此如果其中一个 bean 的创建失败,则会导致应用程序在启动时失败。是否有任何本机 Spring 配置或方法来完成此操作?
我尝试用我自己的自定义 AnnotationConfigApplicationContext 覆盖 AnnotationConfigApplicationContext 并在其中捕获异常。但发生的情况是,当抛出异常时,并没有创建所有剩余的 bean。
我们使用的是 Spring 4.3.0。
【问题讨论】:
-
为什么?当发生异常时,基本上意味着您的应用程序(配置)错误,因此它无法/不会启动。那么为什么需要这个,通常在以奇怪/错误的方式使用框架时会发生这种情况。
-
Out app 是一个具有不同端点的 API,其中每个 bean 代表我们 API 的一个端点。如果一个 bean 或端点发生故障,我们仍然希望 API 的其余部分能够启动并拥有一些活动的端点,如果这有意义的话。
标签: java spring spring-mvc spring-annotations undertow