2014-10-17 9 views
7

Niedawno zaktualizowałem grę do wersji 2.3.5 i spróbowałem użyć jej z ReactiveMongo. Jednak za każdym razem, gdy próbuję odczytać dane z mongoDB, wystąpił wyjątek. To jest mój build.sbt:Graj w 2.3.5 i ReactiveMongo: MongoError ['Brak węzła głównego jest dostępny!']

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" 
) 

To StackTrace:

play.api.Application $$ anon $ 1: Wykonanie wyjątek [[PrimaryUnavailableException $: MongoError [ 'Nie podstawowy węzeł jest dostępny! ']]] pod adresem play.api.Application $ class.handleError (Application.scala: 296) ~ [play_2.11-2.3.5.jar: 2.3.5] at play.api.DefaultApplication. handleError (Application.scala: 402) [play_2.11-2.3.5.jar: 2.3.5] at play.core.server.ne tty.PlayDefaultUpstreamHandler $$ anonfun 14 $ $$ anonfun $ apply $ 1.applyOrElse (PlayDefaultUpstreamHandler.scala: 205) [play_2.11-2.3.5.jar: 2.3.5] at play.core.server.netty.PlayDefaultUpstreamHandler $ $ anonfun 14 $ $ anonfun $ apply $ 1.applyOrElse (PlayDefaultUpstreamHandler.scala: 202) [play_2.11-2.3.5.jar: 2.3.5] at scala.runtime.AbstractPartialFunction.apply (AbstractPartialFunction.scala: 36) [scala-library-2.11.2.jar: na] Błąd: reactivemongo.core.actors.Exceptions $ PrimaryUnavailableException $: MongoError ['Brak węzła głównego jest dostępny!'] Pod adresem reactivemongo.core.actors.Exceptions $ PrimaryUnavailableException $. (Actors.scala) ~ [reactivemongo_2.11-0.10.5.0.akka23.jar: 0.10.5.0.akka23] at rea ctivemongo.core.actors.MongoDBSystem $$ anonfun $ pickChannel $ 4.apply (actors.scala: 508) ~ [reactivemongo_2.11-0.10.5.0.akka23.jar: 0.10.5.0.akka23] at reactivemongo.core.actors .MongoDBSystem $$ anonfun $ pickChannel $ 4.apply (actors.scala: 508) ~ [reactivemongo_2.11-0.10.5.0.akka23.jar: 0.10.5.0.akka23] pod adresem scala.Option.getOrElse (Option.scala: 120) ~ [scala-library-2.11.2.jar: na] at reactivemongo.core.actors.MongoDBSystem.pickChannel (actors.scala: 508) ~ [reactivemongo_2.11-0.10.5.0.akka23.jar: 0.10.5.0.akka23]

MongoDB działa bez zarzutu. Jestem w stanie pobrać dane za pomocą narzędzia linii poleceń i IntelliJ.

podsunąłem kod do github

Może ktoś zna ten problem i może mi pomóc? To byłoby niesamowite

+0

Problem został rozwiązany. Myślę, że był to problem między reaktywnym a play. Zbudowałem aplikację kilka dni później i wszystko działa dobrze teraz. – trollr

+0

Nie jestem przekonany, że problem został rozwiązany. Wpadam na to, jeśli utworzę wiele instancji MongoDriver. To głupia rzecz, ponieważ marnuje połączenia i kanały, a ostatecznie wypełnia wszystkie połączenia z serwerem mongod; ale może się zdarzyć :) –

Odpowiedz

0

Prawdopodobnie nie można uruchomić serwera Mongo. Przejdź do katalogu/bin i uruchom mongo.
Możesz mieć zbyt mało miejsca w swoim folderze tymczasowym. spróbuj uruchomić: mongo --smallfiles

0

Ten sam problem został jednak zaktualizowany do wersji 2.3.8 z tą samą wtyczką rx mongo. MongoDB poparte działa dobrze pod skorupą podobnie jak Mongo Mongo Explorer w IntelliJ IDEA 14.

Korzystanie mongodb.uri w application.conf:

mongodb.uri = „MongoDB: // pxxxxxxxx: pxxxxxxxx @ Berne: 27017/playdb "

Głębsze kopanie przy założeniu, że jest to problem z konfiguracją.

Henry

+0

Stoję poprawiony. Użyłem złego serwera dla URI. To działa dobrze. – user1981383

Powiązane problemy