Ich verwende Spring-Batch v3.0.0 für Batch-Importe. Es gibt ein StepScope
und ein JobScope
. Wie kann ich wissen, welche von ihnen angemessen ist?
Wenn ich zum Beispiel ein benutzerdefiniertes ItemReader
oder ItemWriter
definiere, das ein bestimmtes EntityManager
verwenden soll, könnte es so aussehen:
Aber welcher Bereich ist hier richtig? Und warum?
Die Ausführung mit step
scope funktioniert, aber ich denke, dass die itemWriter möglicherweise von job
scope sein sollten, damit sie nicht bei jedem Schritt neu erstellt werden.
Ich habe versucht, step
auf job
zu setzen, aber das wirft folgenden Fehler auf:
Exception in thread "main" java.lang.IllegalStateException: No Scope registered for scope 'job'
Verstanden: Der Bereich muss als Bean explizit in der @Configuration
-Datei angegeben werden.
Tags und Links java spring spring-batch batch-processing