检查DB4o ObjectContainer是否已关闭

时间:2013-09-20 23:38:35

标签: db4o object-oriented-database

DB4O似乎没有提供检查数据库(ObjectContainer)是否已关闭的方法。所以现在,这是我用来查看它是否已关闭的代码。我觉得有更好的方法可以做到这一点。

    public ObjectContainer getDb() {

    if (db == null) {
        System.out.println("db was null in " + dbci
                + " connection. Had to create new DB object.");
        db = Db4oEmbedded.openFile(dbci.getConnectionName());
    }
    try{
        db.query();
    }
    catch(Exception e){
         db = Db4oEmbedded.openFile(dbci.getConnectionName());
    }
    return db;
}

这样的try / catch块是否有办法解决?

1 个答案:

答案 0 :(得分:2)

db4o确实提供了一种检查对象容器是否关闭的方法。

看看ExtObjectContainer#isClosed()方法。

http://source.db4o.com/db4o/trunk/db4oj/core/src/com/db4o/ext/ExtObjectContainer.java

希望这有帮助