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 に答える