当前位置: 首页 > 知识库问答 >
问题:

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

秦彦君
2023-03-14

以下是我构建的带有Spring Data Neo4j skeleton应用程序的PlayFramework:

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

在第一次播放运行期间,一切正常。通过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数据Neo4j和PlayFramework的组合有关?

共有2个答案

慕容兴贤
2023-03-14

调用getGraphDatabaseService。shutdown()来自app/Global中的Neo4jTemplate。scalaonStop方法解决了这个问题。

/**
 * 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()
}

在这里拉请求。

华项明
2023-03-14

“无法获得锁”听起来像是一个文件系统问题(检查target/neo4j db/dir是否有权限之类的问题?),也许有两个是被创造出来的?

 类似资料:
  • 问题内容: 我正在尝试将log4j配置为使用,但我不断收到中继访问被拒绝的错误。在笔记本电脑上直接从共享托管环境执行代码时,出现此错误。 这是相关的配置: 如果改用,则会收到身份验证错误。我的主机位于DreamHost上,因此如果有人使用DreamHost电子邮件帐户设置了log4j,则可获赠积分。 问题答案: 原来我只是把属性都弄错了。应该:

  • 我将Hazelcast作为缓存服务运行,似乎我可以通过BoringSSL提高性能,这更简单,因为我不需要安装其他软件 阅读他们的文档:https://docs.hazelcast.com/imdg/4.1.2/security/integrating-openssl.html 我知道我只需要两个罐子,但我没有看到任何关于配置设置的提及。我是否只将Java SSL设置用于BasicSSLContex

  • 我正在尝试调出一个BGP会话(linkstate系列,如果重要的话)。遵循本指南https://github.com/opendaylight/docs/blob/master/docs/user-guide/bgpcep-guide/bgp/bgp-user-guide-linkstate-family.rst 当我使用URL和as body发出请求时 看来家族是添加到BGP扬声器的,我正在检查

  • 我写了一个django网络应用程序,现在我需要把它翻译成英语。我遵循了文档,但我不断收到这个奇怪的错误: 在/i18n/setlang/settings处配置不正确。数据库配置不正确。请提供ENGINE值。有关详细信息,请查看设置文档。请求方法:POST请求URL:http://192.92.149.139:8000/i18n/setlang/Django版本:2.0.3异常类型:配置不正确的异常

  • 使用Spring Boot 2.0.0.rc2。 和junit-platform-surefire-provider配置在maven-surefire-pluginV2.19.1中 我似乎找不出合适的注释来让我的测试类读取src/Test/resources/application-test.yml中的配置。 我读过https://junit.org/junit5/docs/current/use

  • 我无法正确获取此持久性文件...我在书中找不到任何更多的资料可供我参考。我用的是MySQL数据库。 编辑 严重:部署应用程序[VaadEntertainapp]时出现异常 Severe:org.xml.sax.SAXParseException:cvc-complex-type.2.4.a:发现以元素“provider”开头的内容无效。应为“{”http://java.sun.com/xml/ns