Играйте в 2.3.5 и ReactiveMongo: MongoError ['Основной узел недоступен!']

Недавно я обновил Play до версии 2.3.5 и пытаюсь использовать его с ReactiveMongo. Однако каждый раз, когда я пытаюсь прочитать данные из mongoDB, возникает исключение. Это мой build.sbt:

name := """ReactiveMongoRestExample"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.11.1"

libraryDependencies ++= Seq(
  jdbc,
  anorm,
  cache,
  ws,
    "org.reactivemongo" %% "play2-reactivemongo" % "0.10.5.0.akka23"
)

Это трассировка стека:

play.api.Application $$ anon $ 1: Исключение выполнения [[PrimaryUnavailableException $: MongoError ['Основной узел недоступен!']]] в play.api.Application $ class.handleError (Application.scala: 296) ~ [play_2 .11-2.3.5.jar: 2.3.5] на play.api.DefaultApplication.handleError (Application.scala: 402) [play_2.11-2.3.5.jar: 2.3.5] на play.core.server. netty.PlayDefaultUpstreamHandler $$ anonfun $ 14 $$ anonfun $ apply $ 1.applyOrElse (PlayDefaultUpstreamHandler.scala: 205) [play_2.11-2.3.5.jar: 2.3.5] на play.core.server.netty.PlayDefaultUpstreamHandler $$ anonfun $ 14 $$ anonfun $ применить $ 1.applyOrElse (PlayDefaultUpstreamHandler.scala: 202) [play_2.11-2.3.5.jar: 2.3.5] в scala.runtime.AbstractPartialFunction.apply (AbstractPartialFunction.scala: 36) [scala-library -2.11.2.jar: na] Вызвано: reactivemongo.core.actors.Exceptions $ PrimaryUnavailableException $: MongoError ['Основной узел недоступен!'] В reactivemongo.core.actors.Exceptions $ PrimaryUnavailableException $. (Ctors.scala ) ~ [r eactivemongo_2.11-0.10.5.0.akka23.jar: 0.10.5.0.akka23] в reactivemongo.core.actors.MongoDBSystem $$ anonfun $ pickChannel $ 4.apply (ctors.scala: 508) ~ [reactivemongo_2.11-0.10.5.0 .akka23.jar: 0.10.5.0.akka23] в reactivemongo.core.actors.MongoDBSystem $$ anonfun $ pickChannel $ 4.apply (ctors.scala: 508) ~ [reactivemongo_2.11-0.10.5.0.akka23.jar: 0.10. 5.0.akka23] в scala.Option.getOrElse (Option.scala: 120) ~ [scala-library-2.11.2.jar: na] в reactivemongo.core.actors.MongoDBSystem.pickChannel (ctors.scala: 508) ~ [ reactivemongo_2.11-0.10.5.0.akka23.jar: 0.10.5.0.akka23]

MongoDB отлично работает. Я могу получать данные с помощью инструмента командной строки и IntelliJ.

Я отправил код в github

Может быть, кто-то знает проблему и может мне помочь? Это было бы круто


person trollr    schedule 17.10.2014    source источник
comment
Проблема исправлена. Я думаю, это была проблема между reactivemongo и игрой. Я создаю свое приложение через несколько дней, и сейчас все работает нормально.   -  person trollr    schedule 21.10.2014
comment
Я не уверен, что эта проблема решена. Я сталкиваюсь с этим, если создаю много экземпляров MongoDriver. Это глупо, потому что это тратит впустую соединения и каналы и в конечном итоге заполняет все соединения с сервером mongod; но такое бывает :)   -  person Reid Spencer    schedule 26.10.2014


Ответы (3)


Та же проблема, но обновлена ​​до Play 2.3.8 с тем же плагином rx mongo. При поддержке Mongodb отлично работает под оболочкой mongo, как и mongo explorer в intellij idea 14.

Использование mongodb.uri в application.conf:

mongodb.uri = "mongodb: // pxxxxxxxx: pxxxxxxxx @ berne: 27017 / playdb"

Копаем глубже, предполагая, что это проблема конфигурации.

Генри

person user1981383    schedule 14.04.2015
comment
Я исправился. Я использовал неправильный сервер для uri. Работает нормально. - person user1981383; 14.04.2015

Вероятно, не удается запустить сервер Mongo. Перейдите в папку / bin и запустите mongo.
Возможно, у вас слишком мало места во временной папке. попробуйте запустить: mongo --smallfiles

person user1003731    schedule 10.01.2015

У меня была эта ошибка, потому что я пытался подключиться к базе данных с неизвестным пользователем. Создание пользователя устранило ошибку.

person Moebius    schedule 16.07.2018