1

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 块?

4

1 回答 1

2

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

看看 ExtObjectContainer#isClosed() 方法。

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

希望这可以帮助

于 2013-09-22T15:43:27.177 回答