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

时间:2012-03-21 13:06:04

标签: neo4j data-loss

我猜这个范例我不明白? 对于小型单一服务器或开发环境......我讨厌只需要加载100个成千上万的记录,只是为了在图表中进行分析......我在这里错过了大局吗?

更新(2012年3月21日10:38a):
我目前的设置:

  • 默认安装
  • 默认配置
  • 服务器设置
  • 通过REST API创建节点

2 个答案:

答案 0 :(得分:4)

如何实例化数据库,嵌入式或服务器?您是否正在运行ImpermanentGraphDatabase,因为它是内存中的测试数据库。如果您使用普通的EmbeddedGraphDatabase,那么当您插入数据时,图表会在路上持久存在。

请提供更多信息。

答案 1 :(得分:0)

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

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