Spring Data Neo4j和PlayFramework 2.1.1的正确配置是什么?

下面是我构建的Spring Data Neo4j骨架应用程序的PlayFramework:

https://github.com/tomasmuller/playframework-neo4j-template

在第一play run一切正常。 通过Netty的PlayFramework以开发模式启动。 所以我们可以继续编程并刷新以查看结果。

但可能有一些与Neo4j事务管理器相关的缺失配置。 甚至这可能与PlayFramework的开发模式有关。

例如,尝试将index.scala.html的第13行更改为不同的标题,并重新加载索引页面而不重新启动服务器。

原来以下例外:

play.api.PlayException: Cannot init the Global object[null]
...
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'graphDatabaseService': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.neo4j.kernel.EmbeddedGraphDatabase]: Constructor threw exception; nested exception is java.lang.RuntimeException: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.StoreLockerLifecycleAdapter@20346642' was successfully initialized, but failed to start. Please see attached cause exception.
...
Caused by: org.neo4j.kernel.StoreLockException: Unable to obtain lock on store lock file: target/neo4j-db/store_lock
at org.neo4j.kernel.StoreLocker.checkLock(StoreLocker.java:90) ~[neo4j-kernel-1.9.RC1.jar:1.9.RC1]
...

我尝试了一些配置(没有成功),并在存储库问题n.1中记录。

到底是怎么回事? 这是一个配置问题,或者与Spring Data Neo4j和PlayFramework的组合有关?


“无法获得锁定”听起来像文件系统问题(检查目标/ neo4j-db / dir的权限等),也许有两个创建?


app/Global.scala onStop方法中从Neo4jTemplate调用getGraphDatabaseService.shutdown()解决了这个问题。

/**
 * Sync the context lifecycle with Play's.
 * @param app
 */
override def onStop(app: Application) {
  val  neo4jTemplate:Neo4jTemplate = ctx.getBean(classOf[Neo4jTemplate]);
  neo4jTemplate.getGraphDatabaseService.shutdown();
  ctx.stop()
}

请求在这里。

链接地址: http://www.djcxy.com/p/68765.html

上一篇: What is the proper configuration for Spring Data Neo4j and PlayFramework 2.1.1?

下一篇: how to add @secure annotation in spring security