有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    如果重新抛出异常,上下文将停止加载,应用程序将实际上处于死机状态。或者如果你真的想让JVM完全停止调用系统。出口(1)