Não tenho certeza se isso se aplica ao seu caso exato, mas tive uma situação muito semelhante com muito tempo sendo desperdiçado em
ClassUtils.forName()
e ClassLoader.load()
. Eu inspecionei a situação no depurador e a causa raiz no meu caso foi que a classe para a qual eu estava tentando desserializar o documento havia sido movida para um pacote diferente. Nesse caso, o Spring Data não pode armazenar em cache as informações de tipo adequadamente e emite um
ClassLoader.load()
lento e caro na _class
persistente campo para cada documento ! Obviamente, esse carregamento de classe está fadado ao fracasso porque faz referência a uma classe que não existe mais no local armazenado em
_class
campo do documento.