मुझे यकीन नहीं है कि यह आपके सटीक मामले पर लागू होता है, लेकिन मेरी बहुत समान स्थिति थी जिसमें बहुत समय बर्बाद हो रहा था ClassUtils.forName()
और ClassLoader.load()
.
मैंने डीबगर के तहत स्थिति का निरीक्षण किया है और मेरे मामले में मूल कारण यह था कि जिस वर्ग को मैं दस्तावेज़ को deserialize करने की कोशिश कर रहा था उसे एक अलग पैकेज में ले जाया गया था। इस मामले में, स्प्रिंग डेटा प्रकार की जानकारी को ठीक से कैश नहीं कर सकता है और धीमी और महंगी ClassLoader.load()
जारी करता है। निरंतर _class
. पर फ़ील्ड प्रत्येक दस्तावेज़ के लिए !
बेशक, यह वर्ग लोड विफल होने के लिए बर्बाद है क्योंकि यह एक ऐसे वर्ग का संदर्भ देता है जो अब _class
में संग्रहीत स्थान पर मौजूद नहीं है दस्तावेज़ का क्षेत्र।