Non sono sicuro che questo si applichi al tuo caso esatto, ma ho avuto una situazione molto simile con molto tempo sprecato in ClassUtils.forName()
e ClassLoader.load()
.
Ho ispezionato la situazione sotto il debugger e la causa principale nel mio caso era che la classe in cui stavo tentando di deserializzare il documento era stata spostata in un pacchetto diverso. In questo caso, Spring Data non può memorizzare correttamente nella cache le informazioni sul tipo ed emette un lento e costoso ClassLoader.load()
sulla _class
persistente campo per ogni documento !
Ovviamente, questo caricamento della classe è destinato a fallire perché fa riferimento a una classe che non esiste più nella posizione memorizzata in _class
campo del documento.