Проверка, если DB4o ObjectContainer закрыт
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 ответ
Решение
db4o предоставляет метод для проверки, закрыт ли контейнер объекта или нет.
Взгляните на метод ExtObjectContainer#isClosed().
http://source.db4o.com/db4o/trunk/db4oj/core/src/com/db4o/ext/ExtObjectContainer.java
Надеюсь это поможет