Według dokumentacji format identyfikatora URI parametrów połączenia to:
mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
/database
część jest opisana jako:
Skonfigurowałeś identyfikator URI w następujący sposób:
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
W Twoich logach możemy zobaczyć linię:
Exception authenticating MongoCredential{mechanism=null, userName='content_rw', source='contenttest', password=<hidden>, mechanismProperties={}}
W MongoCredential.java
source
jest opisany jako:
Wygląda więc na to, że skonfigurowałeś bazę danych uwierzytelniania jako /contenttest
a nie jako:
spring.data.mongodb.authentication-database=admin
Myślę, że powinieneś usunąć nazwę bazy danych z identyfikatora URI i prawdopodobnie spring.data.mongodb.authentication-database
właściwość, ponieważ admin
baza danych jest używana domyślnie.
Spójrz też na to:
Ten wiersz powinien być interesujący z punktu widzenia konfiguracji bazy danych aplikacji:
spring.data.mongodb.database=test # Database name.