जैसा कि मैटसी द्वारा इंगित किया गया था, मुझे यह त्रुटि हुई जब मेरे ItemProcessor
को गड़बड़ कर दिया गया था। किसी कारण, मेरी प्रोसेसर गतिविधियों के दौरान के लिए, यह jobrepository
साथ डेटा स्रोत कनेक्शन बंद करने गया था, इसलिए मेरी अपवाद था: स्टैकट्रेस के अंत में
Encountered an error saving batch meta data for step step1 in job myjob. This job is now in an unknown state and should not be restarted.
org.springframework.dao.OptimisticLockingFailureException: Attempt to update step execution id=1 with wrong version (1), where current version is 2
, मैं ढूँढने में सक्षम था:
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Connection is closed.
समस्या की पहचान करने के लिए, पहले मैं चरण को अलग करता हूं। मैंने एक नोओप्रोसेसर और नोऑपइटम लेखक बनाया। टास्कलेट को समायोजित किया और यह अच्छी तरह से काम किया। तो मेरी समस्या पाठक में नहीं थी।
फिर मैंने अपने "पूर्ण" आइटमवाइटर कार्यान्वयन में रोलबैक किया, और फिर, यह अच्छी तरह से काम किया। तो मेरी समस्या लेखक के साथ नहीं थी। जब मैंने अपना "पूर्ण" प्रोसेसर सक्षम किया, तो त्रुटि फिर से हुई। तो, त्रुटि उसमें थी, और मैंने डीबगिंग शुरू कर दी। ...
public class NoOpProcessor implements ItemProcessor<Object, Object> {
@Override
public Object process(Object arg0) throws Exception {
System.out.println("Input object: " + Objects.toString(arg0));
return arg0;
}
}
public class NoOpItemWriter implements ItemWriter<Object> {
@Override
public void write(List<? extends Object> items) throws Exception {
if (items != null) {
System.out.println("Qtty of items to be written: " + items.size());
for (Object obj : items) {
System.out.println(Objects.toString(obj));
}
} else {
System.out.println("The items list is null. Nothing to be written.");
}
}
}
स्रोत
2017-01-24 21:00:22
हाय इस पर किसी भी अद्यतन डिबग:
तो, दुर्भाग्य से, मेरा उत्तर है? – user2583922
क्या आपने इसका समाधान किया है? – surlac
यह आपकी समस्या का समाधान कर सकता है http://ashamathavan.blogspot.in/2010/12/optimisticlockingfailureexception.html –