Dies wird normalerweise verursacht, wenn die für Entitäten erhaltenen Mongo-Zuordnungsmetadaten Entitäten beim Anwendungsstart nicht scannen. Standardmäßig AbstractMongoConfiguration
verwendet das Paket der aktuellen Konfigurationsklasse, um nach @Document
zu suchen kommentierte Klassen beim Start.
Die Ausnahmemeldung lässt mich annehmen, dass SpringCloudMongoDBConfiguration
befindet sich in keinem der Superpakete von com.foo.model.project
. Dafür gibt es zwei Lösungen:
- Halten Sie sich an die Bequemlichkeit, Anwendungskonfigurationsklassen in das Stammpaket Ihrer Anwendung einzufügen. Dadurch werden Ihre Anwendungspakete wie erwartet auf Domänenklassen und erhaltene Metadaten gescannt und die Neuheitserkennung funktioniert wie erwartet.
- Übergeben Sie das Paket, das Domänenklassen enthält, manuell an die Infrastruktur, indem Sie
MongoConfiguration.getMappingBasePackage()
überschreiben .
Der Grund, warum Sie möglicherweise sehen, dass die Konfiguration in der lokalen Umgebung funktioniert, ist, dass die Mapping-Metadaten möglicherweise durch eine nicht persistente Persistenzoperation (z. B. eine Abfrage) und alles andere, was von dort ausgeht, abgerufen werden.