Ik weet niet zeker of dit van toepassing is op uw exacte geval, maar ik had een zeer vergelijkbare situatie waarbij ik veel tijd verspilde aan ClassUtils.forName()
en ClassLoader.load()
.
Ik heb de situatie onder de debugger geïnspecteerd en de hoofdoorzaak in mijn geval was dat de klasse waarin ik het document probeerde te deserialiseren, naar een ander pakket was verplaatst. In dit geval kan Spring Data de type-informatie niet goed cachen en geeft het een langzame en dure ClassLoader.load()
op de aanhoudende _class
veld voor elk document !
Natuurlijk is het laden van deze klasse gedoemd te mislukken omdat het verwijst naar een klasse die niet meer bestaat op de locatie die is opgeslagen in de _class
veld van het document.