0

在加载时,Spring Container 初始化 Beans...当它发现与 Bean 相关的错误时,它会停止并回滚(不是确切的术语)...据我所知。

这是我们的条件。我们正在开发一种网络应用系统。(好大)春豆几千个。我们的客户要求以下。“在 WAS 重新启动期间,即使一个或一些 Bean 有问题(加载时错误),忽略那些,系统必须继续......”

我们已经通过修改 Spring 的源代码满足了这个要求……但我认为这不是好的(正确的)方式。

嗯......还有另一种方法可以忽略 BeansException 吗?(首先,我说服客户明白忽略不是好办法,但失败了。)

4

1 回答 1

1

我认为一种选择是使用注释和@Autowire 标记,将 required 设置为 false。这样,如果 Spring 找到了 bean,它会自动将其装入。如果没有,您将获得一个空引用。

如果这不是一个选项,那么您可以实现 ApplicationContextAware 并使用您获得的应用程序上下文手动将事物连接在一起。我更喜欢第一个选项。

但是,在任何情况下,我都不会考虑修改 Spring 代码。我认为这很危险,并且使您不得不永远支持您的自定义 Spring 库,或者永远不会更新 Spring。

于 2013-06-04T11:36:16.623 回答