Това обикновено се причинява, ако метаданните за съпоставяне на Mongo, получени за обекти, не сканират обекти при стартиране на приложението. По подразбиране, AbstractMongoConfiguration
използва пакета на действителния конфигурационен клас, за да търси @Document
анотирани класове при стартиране.
Съобщението за изключение ме кара да приема, че SpringCloudMongoDBConfiguration
не се намира в нито един от супер пакетите на com.foo.model.project
. Има две решения за това:
- Придържайте се към удобството да поставите класове за конфигурация на приложението в основния пакет на вашето приложение. Това ще накара вашите пакети с приложения да бъдат сканирани за класове на домейни, получени метаданни и откриването на нови работи според очакванията.
- Предайте ръчно пакета, съдържащ класове на домейн, на инфраструктурата, като замените
MongoConfiguration.getMappingBasePackage()
.
Причината, поради която може да видите конфигурацията да работи в локалната среда, е, че метаданните за картографиране може да бъдат получени чрез непостоянна операция за постоянство (напр. заявка) и всичко останало, което следва оттам.