我想用Neo4J管理多个嵌入式图形数据库。如果多个进程可以同时访问数据库,那将是完美的,但是似乎锁定文件阻止了这种情况。使用嵌入式数据库的原因是为了避免使用Docker启动Bolt / HTTP数据库的开销。我想使用一个简单的设置。
每个嵌入式数据库都应该拥有自己的目录。一方面,用户应该能够将其全部删除。 问题是,当我使用
创建新的嵌入式数据库时new Configuration.Builder().uri(path.toUri.toString).build
在Scala中,它使用URI的父目录创建一个锁定文件和一个日志目录。 因此,我总是必须指定一个子目录,例如“ ... / myembeddeddatabase / subdir /”。
但是,当我关闭相应的会话工厂时,总是有一个带有调试日志的目录“ logs”。 当我要删除目录时
FileUtils.deleteDirectory(storageDir)
有时会出现异常,并且由于子目录“ logs”,该目录仍然存在。 如何等待图形数据库关闭?
也许有更好的方法来处理多个嵌入式图数据库,还是我必须使用Bolt / HTTP? 我正在考虑将所有图形存储在同一数据库中,因为这似乎要容易得多。