将neo4j shell连接到java中的嵌入式neo4j

时间:2014-08-18 08:00:29

标签: neo4j

[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访问嵌入式数据库。

1 个答案:

答案 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

这有用吗?