Ini biasanya disebabkan jika metadata pemetaan Mongo yang diperoleh untuk entitas tidak memindai entitas saat startup aplikasi. Secara default, AbstractMongoConfiguration
menggunakan paket kelas konfigurasi aktual untuk mencari @Document
kelas beranotasi saat startup.
Pesan pengecualian membuat saya berasumsi bahwa SpringCloudMongoDBConfiguration
tidak terletak di salah satu paket super com.foo.model.project
. Ada dua solusi untuk ini:
- Tetap pada kenyamanan menempatkan kelas konfigurasi aplikasi ke dalam paket root aplikasi Anda. Ini akan menyebabkan paket aplikasi Anda dipindai untuk kelas domain, metadata yang diperoleh, dan deteksi baru berfungsi seperti yang diharapkan.
- Serahkan paket yang berisi kelas domain secara manual ke infrastruktur dengan menimpa
MongoConfiguration.getMappingBasePackage()
.
Alasan Anda mungkin melihat konfigurasi berfungsi di lingkungan lokal adalah karena metadata pemetaan mungkin diperoleh melalui operasi persistensi yang tidak bertahan (misalnya kueri) dan semua hal lain yang dilakukan dari sana.