Java Spring / MongoDb работает только при использовании поля URI - PullRequest
0 голосов
/ 11 января 2019

У меня очень странная ситуация. Я запускаю приложение весенней загрузки Java, которое подключается к экземпляру MongoDb. Когда я использую

spring.data.mongodb.uri=mongodb://{username}:{password}@{host}

поле, подключаю нормально. Но когда я использую:

spring.data.mongodb.host={host}
spring.data.mongodb.username={username}
spring.data.mongodb.password={password}

Я получаю ошибку аутентификации. Что дает? Конечно, значения в скобках точно такие же.

Я включил их в обе настройки:

spring.data.mongodb.authentication-database={auth-db}
spring.data.mongodb.database={mydb}

Другие детали

Метод не-uri работает в одной среде, но не в той, которую я пытаюсь исправить.

Запуск обоих серверов в одном Docker Swarm

Mongo ReplicaSet версия 4.0.4

Java 8

Ответы [ 3 ]

0 голосов
/ 15 января 2019

Похоже, это больше не поддерживается. Ссылаясь на docs.spring.io - 31.2.1 Подключение к базе данных MongoDB :

Если вы используете Java-драйвер Mongo 3.0, spring.data.mongodb.host и spring.data.mongodb.port не поддерживаются. В таких случаях, spring.data.mongodb.uri должен использоваться для обеспечения всех конфигурации.

0 голосов
/ 18 января 2019

Попробуйте это

spring.data.mongodb.host={host}
spring.data.mongodb.port={port}
spring.data.mongodb.username={username}
spring.data.mongodb.password={password}
spring.data.mongodb.database={database}

Это работает для меня.

0 голосов
/ 11 января 2019

Я не могу комментировать, поэтому должен ответить.

Попробуйте добавить имя вашей базы данных? Надеюсь, что работа. spring.data.mongodb.database =

...