#java #database #key-value #leveldb
Вопрос:
Я пытаюсь использовать базу данных LevelDB в своем проекте Java. Приложение не работает из — за Перекрывающегося исключения блокировки файлов во время подключения к БД уровня. В глубине души, не работает после этого, создает файл. Возможно, есть проблемы с обработкой файла во время процесса.
public void openDB (){ Options options = new Options(); options.createIfMissing(true); options.comparator(new MyDBComparator()); try{ factory.destroy (new File("example"), options); db = factory.open (new File("example"),options); }catch (IOException ioe) { closeDB(); }
Исключением являются следующие:
Exception in thread "main" java.nio.channels.OverlappingFileLockException at java.base/sun.nio.ch.FileLockTable.checkList(FileLockTable.java:229) at java.base/sun.nio.ch.FileLockTable.add(FileLockTable.java:123) at java.base/sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1155) at java.base/java.nio.channels.FileChannel.tryLock(FileChannel.java:1178) at org.iq80.leveldb.impl.DbLock.lt;initgt;(DbLock.java:47) at org.iq80.leveldb.impl.DbImpl.lt;initgt;(DbImpl.java:169) at org.iq80.leveldb.impl.Iq80DBFactory.open(Iq80DBFactory.java:83) at database.LevelOperations.openDB(LevelOperations.java:83) at utilities.menu.MainMenu(menu.java:234) at Main.main(Main.java:13)
Спасибо вам за советы и помощь!