Nejsem si jistý, zda se to týká vašeho přesného případu, ale měl jsem velmi podobnou situaci a spoustu času jsem promarnil v ClassUtils.forName()
a ClassLoader.load()
.
Zkontroloval jsem situaci pod debuggerem a hlavní příčinou v mém případě bylo, že třída, do které jsem se snažil deserializovat dokument, byla přesunuta do jiného balíčku. V tomto případě Spring Data nemůže správně ukládat informace o typu do mezipaměti a vydává pomalé a drahé ClassLoader.load()
na přetrvávající _class
pole pro každý dokument !
Toto načtení třídy je samozřejmě odsouzeno k neúspěchu, protože odkazuje na třídu, která již neexistuje v umístění uloženém v _class
pole dokumentu.