Ich bin mir nicht sicher, ob dies genau auf Ihren Fall zutrifft, aber ich hatte eine sehr ähnliche Situation, in der viel Zeit in ClassUtils.forName()
verschwendet wurde und ClassLoader.load()
.
Ich habe die Situation unter dem Debugger untersucht und die Hauptursache in meinem Fall war, dass die Klasse, in die ich versuchte, das Dokument zu deserialisieren, in ein anderes Paket verschoben wurde. In diesem Fall kann Spring Data Typinformationen nicht richtig zwischenspeichern und gibt einen langsamen und teuren ClassLoader.load()
aus auf der persistenten _class
Feld für jedes Dokument !
Natürlich ist dieser Klassenladevorgang zum Scheitern verurteilt, weil er auf eine Klasse verweist, die nicht mehr an der Stelle existiert, die in _class
gespeichert ist Feld des Dokuments.