2014-10-12 44 views
0

我使用一个播放/斯卡拉应用Neo4j的嵌入式数据库。我对嵌入式版本俯下身,因为我想使用的Neo4j的遍历框架,所以我可以轻松地创建使用广度优先遍历JSON树。与嵌入数据库中的问题是,当我的Play应用程序热重新加载,它重新启动应用程序,因此我的应用程序关闭服务器(否则我得到一个数据库文件锁定错误)。这会导致编辑之间20秒的浏览器重新加载。编辑Play的Twirl html文件时,这尤其令人讨厌。Play的热重载以及Neo4j的嵌入式时间太长

我拧?我应该隐藏对服务背后的嵌入式数据库的调用吗?仅仅为了发展而做这件事值得吗? AFAIK,Neo4j的RESTful服务不允许广度优先遍历。我接受建议。谢谢。

回答

0

你必须确保你的交易被全部封闭(可能使其安全通过添加一个Java停机处理程序,需要的是照顾),否则会新在关机等待20秒,以允许运行TX完成。

if (tx != null) tx.close(); 
db.shutdown(); 

在开发/测试你也可能使用的内存ImpermanentGraphDatabase通过根据org.neo4j:neo4j-kernel:test-jar:2.1.5

参见:

+0

显着改善!单独完成交易对我来说很有效。 TY,你们有很棒的产品:) – 2014-10-14 03:57:05