Según la documentación el formato del URI de la cadena de conexión es:
mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
El /database
parte se describe como:
Ha configurado el URI de esta manera:
spring.data.mongodb.uri = mongodb://content_rw:<secret password>@a.mongo.db:27017,b.mongo.db:27017,c.mongo.db:27017/contenttest?wtimeoutMS=300&connectTimeoutMS=500&socketTimeoutMS=200
En sus registros podemos ver la línea:
Exception authenticating MongoCredential{mechanism=null, userName='content_rw', source='contenttest', password=<hidden>, mechanismProperties={}}
En MongoCredential.java
la source
se describe como:
Parece que ha configurado la base de datos de autenticación como /contenttest
y no como:
spring.data.mongodb.authentication-database=admin
Creo que debería eliminar el nombre de la base de datos del URI y probablemente spring.data.mongodb.authentication-database
propiedad, porque admin
la base de datos se utiliza de forma predeterminada.
Además, mira esto:
Esta línea debería ser interesante en términos de configuración de la base de datos de la aplicación:
spring.data.mongodb.database=test # Database name.