[neo4j:2.1.3,Windows 7 64 bit,Java 7]
我希望能够使用neo4j shell连接到java中的嵌入式neo4j数据库。 正如建议here添加属性remote_shell_enabled =" true"应该这样做。
我按照建议尝试但我的shell无法连接到错误
的数据库引起:org.neo4j.kernel.StoreLockException:无法获取锁定 在商店锁文件上: 〜\ store_lock。请确保没有 其他进程正在使用此数据库,而该目录是 可写(即使只读访问也需要)
at org.neo4j.kernel.StoreLocker.checkLock(StoreLocker.java:82)
我在我的代码中设置了如下属性
graphDb = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(DBPATH).setConfig("remote_shell_enabled","true").newGraphDatabase();
此外,这样做会导致数据库无法通过关闭挂钩关闭。相反,该过程不会结束,似乎永远不会执行关闭挂钩。
但是,如果我使用以下内容来启动属性,则每次都会成功执行shutdown hook。
graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DBPATH);
或
graphDb = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(DBPATH).newGraphDatabase();
是否有其他方法可以启用shell访问嵌入式数据库。
答案 0 :(得分:2)
为了打开neo4j-shell服务器,例如端口5000,用
之类的东西启动数据库new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(DB_DIR)
.setConfig(ShellSettings.remote_shell_enabled, "true")
.setConfig(ShellSettings.remote_shell_port, "5000")
.newGraphDatabase();
并使用
连接到它neo4j-shell -port 5000
这有用吗?