Saya tidak yakin apakah ini berlaku untuk kasus Anda yang sebenarnya, tetapi saya memiliki situasi yang sangat mirip dengan banyak waktu yang terbuang di ClassUtils.forName()
dan ClassLoader.load()
.
Saya telah memeriksa situasi di bawah debugger dan akar penyebab dalam kasus saya adalah bahwa kelas yang saya coba deserialize dokumen telah dipindahkan ke paket yang berbeda. Dalam hal ini, Spring Data tidak dapat menyimpan informasi jenis cache dengan benar dan mengeluarkan ClassLoader.load()
yang lambat dan mahal pada _class
yang bertahan bidang untuk setiap dokumen !
Tentu saja, pemuatan kelas ini akan gagal karena merujuk pada kelas yang tidak lagi ada di lokasi yang disimpan di _class
bidang dokumen.