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