MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

@EnableMongoAuditing für MongoDB auf Cloud Foundry/mongolab

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.