Come indicato da MattC, ho riscontrato questo errore quando il mio ItemProcessor
era danneggiato. Per qualche ragione, durante le mie attività del processore, che stava chiudendo la connessione origine dati con jobrepository
, quindi il mio eccezione era:
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
Alla fine del stacktrace, sono stato in grado di trovare:
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Connection is closed.
Per identificare il problema, per prima cosa isolare la fase. Ho costruito un NoOpProcessor e un NoOpItemWriter. Aggiustato il tasklet e ha funzionato bene. Quindi il mio problema non era nel lettore.
Quindi ho eseguito il rollback sulla mia implementazione "completa" di ItemWriter, e ancora, ha funzionato bene. Quindi il mio problema non era con lo scrittore. Quando ho abilitato il mio processore "pieno", l'errore si è verificato di nuovo. Quindi, c'era l'errore e ho iniziato il debug.
Così, purtroppo, la mia risposta è: eseguire il debug ...
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.");
}
}
}
fonte
2017-01-24 21:00:22
Hi qualsiasi aggiornamento su questo? – user2583922
Hai risolto? – surlac
Questo potrebbe risolvere il tuo problema http://ashamathavan.blogspot.in/2010/12/optimisticlockingfailureexception.html –