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块是否有办法解决?
答案 0 :(得分:2)
db4o确实提供了一种检查对象容器是否关闭的方法。
看看ExtObjectContainer#isClosed()方法。
http://source.db4o.com/db4o/trunk/db4oj/core/src/com/db4o/ext/ExtObjectContainer.java
希望这有帮助