Я получаю это исключение открытых курсоров при закрытии некоторых магазинов на Беркли, БД:
Exception in thread "main" java.lang.IllegalStateException: Database still has 1 open cursors while trying to close.
at com.sleepycat.je.Database.closeInternal(Database.java:462)
at com.sleepycat.je.Database.close(Database.java:314)
at com.sleepycat.persist.impl.Store.closeDb(Store.java:1449)
at com.sleepycat.persist.impl.Store.close(Store.java:1058)
at com.sleepycat.persist.EntityStore.close(EntityStore.java:626)
Эта ошибка возникает "на myStore.close ()":
public void close() throws DatabaseException {
myStore.close();
myDB.close();
env.close();
}
Но я не открывал курсор вручную.
Я искал эту ошибку и не нашел ничего особенного, что мне нужно было сделать (потому что я не открывал курсор вручную).
Так что я думаю, что сделал что-то не так при открытии базы данных. Что я делаю при открытии магазина:
myStore = new EntityStore(env, "StoreTest", storeConfig);
PrimaryIndex<Long, MYClass> myPrimaryIndex = myStore.getPrimaryIndex(Long.class, MyClass.class);
Опять же: я не открывал курсор вручную.