java如何“优雅地”处理Spring3应用程序中的bean初始化失败?
有时由于外部因素,我的bean无法正确初始化。例如MongoDB实例不在线。是否有一种优雅的方式来处理失败的bean初始化?下面是有问题的bean:
@Bean
public MorphiaDataSource morphiaDataSource() {
try {
MorphiaDataSource bean = new MorphiaDataSource();
Mongo mongo = new Mongo(mongoHost, mongoPort);
bean.setMongo(mongo);
bean.setMorphia(new Morphia());
bean.setDatabase(mongoDatabase);
bean.setUsername(mongoUsername);
bean.setPassword(mongoPassword);
return bean;
} catch(Exception e) {
logger.error("Error creating MorphiaDataSource: " + e.getMessage());
// Tell the context it's screwed?
}
return null;
}
# 1 楼答案
如果重新抛出异常,上下文将停止加载,应用程序将实际上处于死机状态。或者如果你真的想让JVM完全停止调用系统。出口(1)