Jest to zwykle spowodowane tym, że metadane mapowania Mongo uzyskane dla jednostek nie skanują jednostek podczas uruchamiania aplikacji. Domyślnie AbstractMongoConfiguration
używa pakietu aktualnej klasy konfiguracyjnej do wyszukiwania @Document
opatrzone adnotacjami klasy przy starcie.
Komunikat o wyjątku sprawia, że zakładam, że SpringCloudMongoDBConfiguration
nie znajduje się w żadnym z superpakietów com.foo.model.project
. Są na to dwa rozwiązania:
- Trzymaj się wygody umieszczania klas konfiguracyjnych aplikacji w głównym pakiecie aplikacji. Spowoduje to, że twoje pakiety aplikacji zostaną przeskanowane pod kątem klas domen, uzyskanych metadanych, a wykrywanie is-new działa zgodnie z oczekiwaniami.
- Ręcznie przekaż pakiet zawierający klasy domeny do infrastruktury, zastępując
MongoConfiguration.getMappingBasePackage()
.
Powodem, dla którego konfiguracja działa w środowisku lokalnym, jest to, że metadane mapowania można uzyskać za pomocą nietrwałej operacji utrwalania (np. zapytania), a wszystko inne odbywa się stamtąd.