Как управлять несколькими встроенными базами данных Neo4J с помощью OGM, к которым могут обращаться несколько процессов? - PullRequest
0 голосов
/ 17 апреля 2019

Я бы хотел управлять несколькими базами данных встроенных графов с Neo4J. Было бы идеально, если бы несколько процессов могли одновременно обращаться к базам данных, но кажется, что файл блокировки предотвращает это. Причина использования встроенных баз данных состоит в том, чтобы избежать накладных расходов при запуске базы данных Bolt / HTTP с Docker. Я хочу использовать простую настройку.

Каждая встроенная база данных должна иметь свой собственный каталог. В какой-то момент пользователь сможет удалить их все. Проблема в том, что когда я создаю новую встроенную базу данных с

new Configuration.Builder().uri(path.toUri.toString).build

в Scala, он использует родительский каталог моего URI для создания файла блокировки и каталога журналов. Поэтому мне всегда нужно указывать подкаталог, например "... / myembeddeddatabase / subdir /".

Однако, когда я закрываю соответствующую фабрику сеансов, всегда остается каталог "logs" с журналом отладки. Когда я хочу удалить каталог с

FileUtils.deleteDirectory(storageDir)

Иногда я получаю исключение, и каталог остается из-за подкаталога "logs". Как мне дождаться завершения работы базы данных графа?

Может быть, есть гораздо лучший способ обработки нескольких баз данных встроенных графов, или мне нужно использовать Bolt / HTTP? Я планирую сохранить все свои графики в одной базе данных, так как это выглядит намного проще.

...