重新启动Neo4j时,为什么所有数据都会消失?

问题描述:

我不明白这个范式我猜? 对于一个小型的单一服务器或开发环境......我讨厌加载成千上万条记录只是为了在图表中分析它...我错过了这里的大图吗?重新启动Neo4j时,为什么所有数据都会消失?

UPDATE(2012/3/21 10:38A):
我的当前设置:

  • 缺省安装
  • 默认CONFIGS
  • 服务器安装
  • 通过创建节点REST API
+1

我们需要了解更多以帮助您。这是服务器还是嵌入式数据库? Neo4j绝对不应该在重新启动之间丢弃数据。 – Andres 2012-03-21 13:28:12

如何实例化数据库,嵌入式或服务器?你正在运行ImpermanentGraphDatabase,因为这是内存中的测试数据库。如果您使用普通的EmbeddedGraphDatabase,则在插入数据时,图形将沿着交叉方向持续存在。

请多给点信息。

+0

如果您可以通过一些简短的快速步骤或链接来更新您的答案,以便让我的服务器配置设置不丢失数据,我会继续并将其标记为已接受......非常感谢您的时间!我读过这个链接:http://docs.neo4j.org/chunked/stable/server-embedded.html但我仍然不明白我在哪里设置属性或修复配置文件...? – 2012-03-21 14:49:46

如果使用Java嵌入式事务必须在保存对象时关闭,否则它们可能会丢失。在早期版本中,这是通过调用finally { tx.finish(); },更高版本(2.1+)完成的,它应该在试用资源中实例化时自动发生。 (如果Transaction tx在try子句之外实例化,这可能会遇到问题)。

GraphDatabaseService graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH); 
try (Transaction tx = graphDb.beginTx()) { 
    // create some nodes here 
}