我刚开始发现Neo4j的世界并且偶然发现了一个问题,我有些问题需要掌握。
我安装了Neo4j并通过bin/neo4j start
启动了它。
在接下来的步骤中,我编写了一个ruby脚本,在安装jruby和neo4j gem之后创建新节点。一切都很好,直到这里。
这里介绍如何开始: http://wiki.neo4j.org/content/Getting_Started_With_Ruby
我的问题:当服务器启动并且我尝试创建节点时,Neo4j会响应数据库被锁定。当我停止服务器时,节点就会被创建。
我习惯了关系数据库,所以我不理解这种行为。
当我通过Neo4j Webadmin工具(http://localhost:7474/webadmin
)检查服务器信息时,ReadOnly标志设置为false。
在我看来,Neo4j方法可能与关系数据库不同,这意味着服务器可能只有一个与数据库服务器相关的其他目的。
感谢您的任何建议, 托拜厄斯
答案 0 :(得分:3)
JRuby绑定将启动它自己的Neo4j实例,这意味着你最终会有两个数据库实例试图使用相同的文件。
这种方法有些不同,但关系数据库也使用它,例如Apache Derby。与Neo4j一样,您可以将其嵌入到您的应用程序中(即JRuby绑定在您的情况下正在执行的操作)或将其作为独立服务器运行。
所以,不要自己启动服务器,这应该可以解决问题。