Je ne sais pas si cela s'applique à votre cas exact, mais j'ai eu une situation très similaire avec beaucoup de temps perdu dans ClassUtils.forName()
et ClassLoader.load()
.
J'ai inspecté la situation sous le débogueur et la cause principale dans mon cas était que la classe dans laquelle j'essayais de désérialiser le document avait été déplacée vers un autre package. Dans ce cas, Spring Data ne peut pas correctement mettre en cache les informations de type et émet un ClassLoader.load()
lent et coûteux sur la _class
persistante champ pour chaque document !
Bien sûr, ce chargement de classe est voué à l'échec car il fait référence à une classe qui n'existe plus à l'emplacement stocké dans le _class
champ du document.