Detta orsakas vanligtvis om Mongo-mappningsmetadata som erhålls för entiteter inte skannar enheter vid applikationsstart. Som standard är AbstractMongoConfiguration
använder paketet för den faktiska konfigurationsklassen för att leta efter @Document
kommenterade klasser vid start.
Undantagsmeddelandet får mig att anta att SpringCloudMongoDBConfiguration
finns inte i något av superpaketen för com.foo.model.project
. Det finns två lösningar på detta:
- Håll dig till bekvämligheten med att lägga in programkonfigurationsklasser i rotpaketet för ditt program. Detta kommer att göra att dina applikationspaket skannas efter domänklasser, metadata erhålls och att is-new-detektion fungerar som förväntat.
- Ge paketet som innehåller domänklasser manuellt till infrastrukturen genom att åsidosätta
MongoConfiguration.getMappingBasePackage()
.
Anledningen till att du kan se att konfigurationen fungerar i den lokala miljön är att mappningsmetadata kan erhållas genom en icke-beständig persistensoperation (t.ex. en fråga) och allt annat som fortsätter därifrån.