Benutzerdefinierter Spring Batch-Partitionierer für Eingabedatei

  • Ich versuche, eine flache Eingabedatei mit ; getrennten Elementen zu partitionieren. Das erste Element in einer Zeile zeigt eine Kategorie an, und ich möchte diese Kategorie so partitionieren Für jede Kategorie wird eine Partition erstellt, die von einem dedizierten Thread behandelt wird. Aber ich bin verwirrt, wie ich diese Partitionslogik in einem benutzerdefinierten Partitioner implementieren kann. Die Partitionierung scheint vor dem Chunk-orientiert zu sein Schritt, also vor dem Lesen, Schreiben, so scheint es, als müsste ich die Datei in der benutzerdefinierten Partitionierung Zeile für Zeile lesen, das Kategoriefeld aus der Zeile holen und Zeilen mit gleichen Kategorien sammeln und für jede dieser Sammlungen ein ExecutionContext erstellen

    Schaue ich in die richtige Richtung? Kann jemand mit Erfahrung ein kleines Beispiel mit einer Datei angeben (möglicherweise Pseudo-Code)?

    02 September 2011
    JasperJames Beith
2 answers
  • In diesen Links finden Sie einige benutzerdefinierte Partitionierer-Implementierungen. hier und hier , um eine allgemeine Vorstellung zu erhalten. Aber ich denke, Sie können nicht für jede Partition vor der ExecutionContext-Erstellung fliehen.

    30 October 2015
    guilhermerama
  • Ich habe diese Frage gerade selbst gestellt. Ich denke, dass der benutzerdefinierte Partitionierer mit einem benutzerdefinierten ItemReader gekoppelt werden muss. ItemReader wird mit Daten aus dem Slaveschritt (vom Partitionierer dorthin gesetzt) ​​initialisiert und liest folglich nur die Elemente, die für diesen Schritt richtig sind

    08 August 2012
    Arkadiy