2014-10-12 8 views
0

Я использую встроенную базу данных Neo4j в приложении Play/Scala. Я наклонился к встроенной версии, потому что я хочу использовать платформу Traversal Neo4j, чтобы я мог легко создавать деревья JSON, используя обход ширины. Проблема с внедрением базы данных заключается в том, что когда приложение My Play горячо перезагружается, оно перезапускает приложение, в результате чего мое приложение отключает сервер (в противном случае я получаю ошибку блокировки файла db). Это вызывает перезагрузку браузера 20s между изменениями. Это особенно раздражает при редактировании html-файлов Play's Twirl.Play's Hot Reloading и Neo4j Embedded занимает слишком много времени

Я вкручен? Должен ли я скрывать вызовы во встроенную базу данных за услугой? Стоит ли это делать только для развития? AFAIK, служба RESTful от Neo4j не допускает сквозных проходов. Я открыт для предложений. Благодарю.

ответ

0

Вы должны убедиться, что ваши транзакции закрыты (возможно, безопасно, добавив обработчик завершения Java, который позаботится об этом), иначе Neo будет ждать 20 секунд при завершении работы, чтобы завершить работу tx.

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

При разработке/тестировании можно также использовать в памяти ImpermanentGraphDatabase по зависимости от org.neo4j:neo4j-kernel:test-jar:2.1.5

См:

+0

кардинальное улучшение! Только закрытие транзакции работало для меня. TY, отличный продукт, который вы, ребята, там есть :) –

 Смежные вопросы

  • Нет связанных вопросов^_^