0

我正在努力写剧本!使用 ReactiveMongo 的 framework 2.1 应用程序,遵循此示例。但是,每次调用插件时,似乎应用程序在操作完成后挂起,而不是插件关闭并重新启动,我们继续前进。功能有效,但我不确定它是否不会崩溃并在此过程中重新启动。

代码:

  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...

这张照片有什么问题?

4

1 回答 1

1

那张照片似乎没有任何问题。如果您只向我显示该日志输出,我会说您会更改播放应用程序中的文件。这将导致应用程序重新加载。

我想情况并非如此,因此您的数据库可能位于您的应用程序目录中,导致应用程序在每次更改时重新加载。你的数据库在哪里?

于 2013-02-27T07:39:19.747 回答