在Java中将Neo4j Shell连接到嵌入式Neo4j

萨潘·瓦希什(Sapan Vashishth)

[neo4j:2.1.3,Windows 7 64位,Java 7]

我希望能够使用neo4j shell连接到Java中的嵌入式neo4j数据库。如此处建议的那样添加属性remote_shell_enabled =“ true”应该可以做到这一点。

我按建议尝试了,但是我的shell无法连接到数据库,并显示错误

由以下原因引起:org.neo4j.kernel.StoreLockException:无法获取商店锁定文件:〜\ store_lock的锁定。请确保没有其他进程正在使用此数据库,并且该目录可写(甚至对于只读访问也是必需的)

在org.neo4j.kernel.StoreLocker.checkLock(StoreLocker.java:82)

我在代码中按如下所示设置属性

graphDb = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(DBPATH).setConfig("remote_shell_enabled","true").newGraphDatabase();

同样,这样做还会导致数据库无法通过关闭挂钩来关闭。取而代之的是,该过程并没有结束,看来关闭钩子从未执行过。

但是,如果我使用以下方法启动属性,则每次都成功执行关闭挂钩。

graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DBPATH);

或者

graphDb = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(DBPATH).newGraphDatabase();

是否有其他方法可以使外壳程序访问嵌入式数据库。

彼得·纽鲍尔

为了在例如端口5000上打开neo4j-shell服务器,请使用类似以下的命令启动数据库

new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(DB_DIR)
            .setConfig(ShellSettings.remote_shell_enabled, "true")
            .setConfig(ShellSettings.remote_shell_port, "5000")
            .newGraphDatabase();

并使用它连接

neo4j-shell -port 5000

那样有用吗?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章