मैं अनुमान लगा रहा हूं कि आप शायद अपने पढ़ने के संग्रह को अपडेट कर रहे हैं और आप उस फ़ील्ड को भी अपडेट कर रहे हैं जिसका उपयोग क्वेरी कर रही है। अगर ऐसा है तो मुझे हाल ही में भी यही समस्या थी।
MongoItemReader एक पृष्ठांकित पाठक है। इसलिए हर बार जब लेखक उन अभिलेखों को अद्यतन करता है तो पाठक के पास एक छोटा पूल होता है लेकिन पृष्ठ अभी भी बढ़ रहा है।
तो कल्पना कीजिए कि हमारे पास 20 आइटम हैं और एक बार में 5 आइटम पढ़ें:
1) कुल 20 में से 1-5 आइटम पढ़ता है।
2) अपडेट आइटम 1-5 और अब कुल 15 संभावित आइटम हैं
3) कुल 15 में से 6-10 आइटम पढ़ता है।
4) आइटम 6-10 को अपडेट करता है और अब कुल 10 संभावित आइटम हैं।
5) 10 संभावित वस्तुओं में से 11-15 आइटम पढ़ता है
6) रिटर्न अशक्त पढ़ें क्योंकि उस पृष्ठ के लिए कुछ भी वापस नहीं किया गया है।
तो अब आपने केवल आधा ही संसाधित किया है।
मैंने एक MongoDbCursorItemReader बनाने के लिए नीचे दिए गए ट्यूटोरियल का अनुसरण किया, जिसने मेरे लिए इस समस्या को हल किया:https://blog.zenika.com/2012/05/23/spring-batch-and-mongodb-cursor-based-item-reader/