Вот скелетное приложение PlayFramework с Spring Data Neo4j, которое я создал:
https://github.com/tomasmuller/playframework-neo4j-template
Во время первого play run
все работает нормально. PlayFramework через Netty запускается в режиме разработки. Таким образом, мы можем продолжить программирование и нажать «Обновить», чтобы увидеть результат.
Но, вероятно, отсутствует какая-то конфигурация, связанная с менеджером транзакций Neo4j. Или даже это может быть связано с режимом разработки PlayFramework.
Например, попробуйте изменить строку 13 из index.scala.html
на другой заголовок и перезагрузить индексную страницу, не перезапуская сервер.
Получается следующее исключение:
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] ...
Я попробовал некоторые конфигурации (безуспешно) и задокументировал в выпуск репозитория №1 а>.
Что здесь происходит? Это проблема конфигурации или связана с комбинацией Spring Data Neo4j и PlayFramework?