Spring Batch-Wie können mehrere Datensätze gleichzeitig im Prozessor verarbeitet werden?

Ich habe eine Datei zum Parsen und Verarbeiten von Datensätzen. Es funktioniert gut als Zeile für Zeile (Parsen eines Datensatzes zu einem Zeitpunkt). Meine Anforderung ist, dass ich die erforderlichen Informationen aus den einzelnen Datensätzen in mehreren Zeilen analysieren und abrufen muss. Nachdem ich die abgerufenen Informationen aus allen Datensätzen kombiniert habe, rufe ich einen Service auf, um die Geschäftslogik auszuführen. Ich muss diese Logik in meiner Prozessorklasse ausführen. Die Daten sehen wie folgt aus:

001 123456 987654321551580 Wayne DR 1

001 123456 987654321552APT 786 1

001 123456 987654321553LOS ANGELES 1

001 123456 987654321554CA 1

001 123456 98765432155590001 1

Das Datenelement, das in den Spalten 30-32 verfügbar ist, möchte ich aus jedem Datensatz abrufen. In dem obigen Beispiel sind die Werte 551, 552, 553, 554, 555 jeweils in jeder Zeile. Sie kommen alle zusammen in die Akte. Wenn also das aktuelle Element in meinem Prozessor die erste Zeile analysiert und feststellt, dass es sich um '551' handelt (bedeutet Adresszeile 1 im Geschäftscode), möchte ich den Rest der Adresse abrufen, die auf diese Zeile folgt, und sie in einer vollständigen Zeile speichern Adresse. Am Ende möchte ich diese Adresse vom Prozessor an die Serviceklasse übergeben und dann mit dem Parsen des nächsten in der Datei verfügbaren Datensatzes fortfahren. Mein Problem ist, dass der Prozessor für jeden Datensatz zeilenweise arbeitet, so dass ich auf diese Weise nicht in der Lage bin, den Überblick / die Zuordnung zwischen all diesen verwandten Zeilen zu behalten. Es tut mir leid, wenn ich mein Problem nicht auf einfachere Weise erklären kann. Ich bin neu bei Spring Batch und lerne noch.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage