Frage

Ich versuche Spring Batch zu lernen, aber die Startup-Anleitung ist sehr verwirrend. Kommentare wie

  

Sie können eine ziemlich gute Idee über   wie man einen Job durch die Untersuchung der einzurichten   Einheit Tests in der   org.springframework.batch.sample   Paket (in src / main / java) und die   Konfiguration in   src / main / resources / Arbeitsplätze.

ist nicht gerade hilfreich. Auch finde ich das Beispielprojekt sehr kompliziert (17 Nicht-leer-Namespaces mit 109 Klassen)! Gibt es einen einfachen Ort mit Spring Batch zu beginnen?

Andere Tipps

Ich bin damit einverstanden, dass die Bedienungsanleitung sehr verwirrend ist (im Vergleich zum Federkern Bedienungsanleitung auf jedem Fall). Es ist nicht angemessen, einige sehr wichtige gotchas Adresse, die Sie gegen in jedem mäßig komplexe Batch-Szenario Vorfeld wird.

Wichtige Dinge, die Sie in einen neuen Starter Drilldown sollten, und Ihre Anforderungen entscheiden sind,

  • Konfiguration von Ausnahmen (wenn zu überspringen, wenn zum Scheitern verurteilt, wenn es erneut versuchen)
  • Verwendung von Ausführungskontext zu halten (zB wenn vs Jobausführungskontext Schritt Ausführungskontext verwenden).
  • allgemeine Wartung Zustand (mit dem Schritt Umfang, insbesondere für die Eingangsparameter)

Es lohnt sich ausdauernd jedoch. Batch-Programmierung ist sehr unterschiedlich zu anderen Server-Seite Stilen und stark profitiert von dem üblichen Spring „Muster Abstraktion“ -Ansatz.

Bevor Sie auf dem Spring Batch Wagen springen, können Sie lesen möchten, was SO eigenen cletus hat über seine Mängel zu sagen:

http: // www.cforcoding.com/2009/07/spring-batch-or-how-not-to-design-api.html .

I Spring Batch kürzlich ausgewertet und lehnte es schnell einmal merkte ich, dass es nichts zu meinem Projekt abgesehen von aufblasen und Overhead hinzugefügt. Spring Batch kann schließlich ein OK-Produkt wird (ähnlich wie EJBs es richtig dieses Mal), aber im Moment sieht es verdächtig nach einer Lösung auf der Suche nach einem Problem.

Ich habe vor kurzem Spring Batch einen echten Versuch. Ich werde sagen, dass in meiner Implementierung ich ein In-Memory-Repository verwendet (weil neu gestartet und Wiederholungen keine Priorität waren in Umstand meines Projektes), aber ich kann schätzen, was Richard sagt über die JobRepository: Sie müssen im Grunde tief graben zu finden das Datenbankschema.

Für Spring Batch 2.1, tun sie eine Dokumentation über das Repository zur Verfügung stellen: http://static.springsource.org/spring-batch/reference/html/metaDataSchema.html , einschließlich Diskussionen über den Umgang mit Datenbank-spezifischen Implementierungen beschäftigen. Die DDL für die Erstellung der Tabellen werden im Kern Spring Batch-JAR-Datei zu finden:

Feder-Batch-Core-2.1.0.RELEASE.jar:. / Org / spring / Batch / core / * SQL

Scripts vorhanden sind für DB2, Derby, H2, HSQLDB, MySQL, Oracle 10g, PostgreSQL, MS SQL und Sybase.

In diesem Tutorial werden wir eine einfache Spring Batch-Anwendung erstellen zu zeigen, wie eine Reihe von Jobs zu verarbeiten, wo der primäre Zweck eine Liste von kommagetrennte zu importieren und mit fester Länge Aufzeichnungen. Darüber hinaus werden wir eine Web-Schnittstelle mit Spring MVC hinzufügen zu lehren, wie Aufträge manuell auslösen, und damit wir die importierten Datensätze visuell inspizieren können. In der Datenschicht, werden wir JPA, Hibernate und MySQL verwenden.

  1. http://krams915.blogspot.jp/ 2012/02 / Feder-Batch-Tutorial-Teil-1.html
  2. http://krams915.blogspot.jp/ 2012/02 / Feder-Batch-Tutorial-Teil-2.html
  3. http://krams915.blogspot.jp/ 2012/02 / Feder-Batch-Tutorial-Teil-3.html
  4. http://krams915.blogspot.jp/ 2012/02 / Feder-Batch-Tutorial-Teil-4.html

https://github.com/langmi/spring-batch-examples

Diese enthält einige sehr guten Grund Beispiele.

Ich habe gerade angefangen bei Spring Batch als möglicher Ersatz für unsere Inhouse-Batch Rahmen suchen. Eigentlich Schaffung eines Batch-Server mit der Fähigkeit, Jobs zu planen und zu einer JMX-Schnittstelle auf einen Überblick über am Laufen zu bieten / vorher lief Jobinstanzen wenig mehr getroffen hat, als einen Tag. Doch wie Caoilte, ich finde Probleme mit der Dokumentation. Die wichtigsten davon, und eine, die nicht in der Dokumentation oder den javadocs ist, welche Tabellen von der JobRepository erforderlich sind. Der Standardwert ist eine Datenbank-Persistenz JobRepository zu haben, die eine der Anforderungen meines neuen Servers ist, aber ich kann nicht jede Erwähnung der Tabellen erforderlich finden. Ich hatte für jede Erwähnung von ihnen Google hoch und niedrig suchen (Wenn sie in der Dokumentation sind, dann werde ich gerne Salz ziehe meinen humble pie).

Ich denke, eine Batch tatsächlich geschaffen werden, innerhalb Spring Batch laufen ist eine ziemlich komplexe Aufgabe, Ihnen die breite Palette an Konfigurationsmöglichkeiten gegeben verfügbar. Dies ist eine Kraft in meinen Augen. Es bietet die Möglichkeit, komplexe Batch-Aufgaben in xml zu konfigurieren, die ich noch in einem anderen Batch-Rahmen zu finden, haben (die ich kenne). Aber wenn Sie wirklich nicht die Macht des Spring Batch nutzen wollen, warum man nicht nur einen Job mit einem einzigen Tasklet Schritt (Aber dann muss man sich, wenn sein Wert stellt die Overhead).

Schade euch verlassen es, der Rahmen eigentlich wirklich groß ist. Aber wenn jemand anderes muss einen schnellen Start try: Spring Batch Schnell starten Sie

/ Anatoly

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top