2013-02-27 2 views
0

Я пытаюсь написать игру! Framework 2.1 с ReactiveMongo, после this sample. однако при каждом вызове плагина кажется, что приложение зависает после завершения операции, а плагин закрывается и перезапускается, и мы двигаемся дальше. но я не уверен, что это не сбой и перезапуск на этом пути.ReactiveMongo plugin play framework, кажется, перезапускается с каждым запросом

код:

def db = ReactiveMongoPlugin.db 
    def nodesCollection = db("nodes") 

    def index = Action {implicit request => 
    Async { 
     Logger.debug("serving nodes list") 
     implicit val nodeReader = Node.Node7BSONReader 
     val query = BSONDocument(
     "$query" -> BSONDocument() 
    ) 
     val found = nodesCollection.find(query) 
     found.toList.map { nodes => 
     Logger.debug("returning nodes list to requester") 
     Ok(views.html.nodes.nodes(nodes)) 
     } 
    } 
    } 

    def showCreationForm = Action { implicit request => 
    Ok(views.html.nodes.editNode(None, Node.nodeCredForm)) 
    } 

    def create = Action { implicit request => 
    Node.nodeCredForm.bindFromRequest.fold(
     errors => { 
     Ok(views.html.nodes.editNode(None, errors)) 
     }, 
     node => AsyncResult { 
     Node.createNode(node._1, node._2, node._3) match { 
      case Right(myNode) => { 
      nodesCollection.insert(myNode).map { _ => 
      Redirect(routes.Nodes.index).flashing("success" -> "Node Added") 
      } 
     } 
     case Left(message) => { 
      Future(Redirect(routes.Nodes.index).flashing("error" -> message)) 
     } 
     } 
    } 
) 
} 

каротаж:

[debug] application - in Node constructor 
[debug] application - done inseting, redirecting to nodes page 

--- (RELOAD) --- 

[info] application - ReactiveMongoPlugin stops, closing connections... 
[info] application - ReactiveMongo stopped. [Success(Closed)] 
[info] application - ReactiveMongoPlugin starting... 

что не так с этой картинкой?

+0

Вы управляете 'play run'? Если это так, не беспокойтесь об этом, так как вы используете режим dev. Если 'play start' дает тот же результат, который будет хуже. –

+0

Попробуйте заменить 'def db = ReactiveMongoPlugin.db' на' val db = ReactiveMongoPlugin.db'. –

ответ

1

В этом изображении нет ничего плохого. Если бы вы только показали мне, что вывод журнала я бы сказал, вы бы изменили файл в вашем приложении. Это может привести к перезагрузке приложения.

Я думаю, это не так, поэтому ваша база данных, вероятно, находится в вашем каталоге приложений, заставляя приложение перезагружаться при каждом изменении. Где находится ваша база данных?

+0

sh! T !! ш! т !!!!! спасибо за это понимание моего огромного блайнда. это, и я изменю его. –

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