1

Я пытаюсь получить приложение Play (2.1) с ReactiveMongo (0.9), работающее на тестовом сервере приложения. Однако, когда наше приложение запускается в моем блоке dev, он может хранить метаданные изображения просто отлично, даже указывая на установку mongo 2.2 на тестовом сервере mongo. Даже запускал его с «стадией игры», а затем запускал непосредственно с java 1.6.0. Однако так же, как и с Java 1.6.0 на тестовом сервере, приложение непрерывно регистрирует эту ошибку:ReactiveMongo с Play 2 Framework, говорящий «весь набор узлов недоступен»

r.c.a.MongoDBSystem - весь набор узлов недоступен, есть ли сетевая проблема? r.c.a.MongoDBSystem - весь набор узлов недостижим, есть ли сетевая проблема? r.c.a.MongoDBSystem - весь набор узлов недостижим, есть ли сетевая проблема?

И не только во время инициализации ... это повторяется бесконечно. Я видел эту ошибку, упоминаемую в другом месте, но я не думаю, что эти решения применимы к этому. С тестового сервера приложения я могу успешно выполнить telnet для порта 27017 на тестовом сервере mongo. Я вижу, как моя локальная установка, так и тестовый сервер устанавливают журнал приложений, что он использует один и тот же URL-адрес mongodb.

Так на основе того, что я сказал, я считаю, что могу устранить:

  • Удалённый порт
  • Монго сервер вниз
  • Указывая на изнаночную сервер Монго
  • Монго версия рассогласования
  • Java версия несоответствие

Я иду через но кажется, что ошибка извергается, когда MongoChannels не установлены как аутентифицируемое или готовое состояние (пригодное для использования). Я планирую попробовать удаленную отладку, чтобы увидеть, где это происходит, но у меня на это не хватит времени, поэтому я надеюсь получить совет по устранению неполадок или два, если я смогу их получить.

Спасибо!

ответ

2

Хорошо, понял. На данный момент мы запускаем Casbah/Salat в том же приложении. В файле конфигурации есть mongodb.uri, который считывается обоими. Тем не менее, ReactiveMongo, кажется, работает только, если имя базы данных включено, который в соответствии с MongoDB «строка подключения URI» Спецификация:

http://docs.mongodb.org/manual/reference/connection-string/

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

Я вижу, как имя хоста url + db в одной строке заменяет два поля «mongodb.servers» и «mongodb.db», но это может сбивать с толку, если оно не соответствует аналогичной спецификации mongo.