在我的上下文中,我有几个bean。这些bean从文本文件中获取数据。 如果找不到文本文件,则不会加载bean。 如果文件格式错误,则不会加载Bean。
其他Bean依赖于那些Bean,因此如果无法加载其中任何一个,则无法构造上下文。
是否有一种方法可以获取未构造的bean列表?
我想要做的是有一个运行状况检查页面,该页面通过http服务提供json,以查找无法加载的文件以及原因。我正在使用外部框架来提供http服务,并且正在通过静态变量访问spring上下文。
答案 0 :(得分:0)
您可以收集错误(捕获的异常),而不是使这些bean失败。
然后将这些bean连接到运行状况检查器,并检索所有错误。
答案 1 :(得分:0)
我最后要做的是将上下文分为两部分。这样的事情。
@Component
public class GoodBean{
public Sting getStatus(){
return "bad";
}
}
@Component
public class ActionBean{
public ActionBean(GoodBean goodBean) {
if ("bad".equals(goodBean.getStatus()) {
throw new RuntimeException("you can't make bad bean good");
}
}
}
@Configuration
public class GoodConfig {}
@Configuration
@Import(GoodConfig.class)
public class BadConfig {}
BadConfig导入GoodConfig。我可以使用GoodConfig来表明GoodBean状态不好。而且我可以将ActionBean配置用于其他所有功能。如果其他所有方法都不起作用,我可以转到http端点,找出是否是因为GoodBean变坏了。