No estoy seguro de si esto se aplica a su caso exacto, pero tuve una situación muy similar en la que se desperdició mucho tiempo en ClassUtils.forName()
y ClassLoader.load()
.
Inspeccioné la situación bajo el depurador y la causa principal en mi caso fue que la clase a la que intentaba deserializar el documento se había movido a un paquete diferente. En este caso, Spring Data no puede almacenar adecuadamente la información de tipo y emite un lento y costoso ClassLoader.load()
en la _class
persistente campo para cada documento !
Por supuesto, esta carga de clase está destinada a fallar porque hace referencia a una clase que ya no existe en la ubicación almacenada en _class
campo del documento.