2010-11-22 13 views
6

Ich bin ein Anfänger zu Frühling und ich muss ein Projekt für die Schule tun. Welche Art von Projekt kann ich durchführen, um Spring Batch und Integration zu nutzen? Ich weiß, dass ich Dateien in Verzeichnisse schreiben kann, schreibe, lese und modifiziere kommagetrennte Dateien, aber ich kann mir kein Szenario vorstellen, in dem ich diese Technologien kombinieren kann.Spring Batch und Integration

Antwort

3

aber ich kann leider nicht ein Szenario vorstellen, das ich diese Technologien kombinieren

auch eine ziemlich große Unternehmen können nehmen, die eine Menge von Batchjobs mit Feder Integration braucht man ein System einrichten könnte

  • verwalten die Batchjobs
  • Plan, um die Arbeitsplätze nach Ressourcen (zB laufen Batchjobs in bestimmten Zeitfenstern nicht Online-Geschäft zu brechen)
  • einfach starten/stoppen, um die Arbeitsplätze
  • bieten Jobstatus Ansichten

seine eigentlich nur

  • Scheduling
  • Verwaltung

durch viele Unternehmen Nachricht Berichterstattung Konzepte sehen http://www.eaipatterns.com/ seine bereits verknüpft bei http://www.springsource.org/spring-integration

für Ihren Anwendungsbereich - das Schulprojekt - und wenn Sie wirklich ein paar Arbeitsplätze (3 und mehr), auch Sie können eine Batch-Start-Tool, eine GUI (Spring MVC) bauen die liefert Schaltflächen zum Starten/Stoppen/Überwachen/Berichte für diese Jobs zu sehen, aber ich denke, das ist ein wirklich großes Projekt, das leicht viele Mann-Wochen überbrücken könnte

+0

Spring batch admin http://docs.spring.io/spring-batch-admin/ ist jetzt für die Verwaltung von Batch-Jobs von gui verfügbar –

0

Stellen wir uns vor, für einen Moment, dass Sie ein Wellness-System für eine Gesundheit Main bauen Verwaltungsorganisation (HMO). Ein solches System könnte die folgenden Anforderungen:

  1. Für die Patienten, die nicht über ein Wellness Prüfung in mehr als einem Jahr erhalten haben, eine E-Mail und/oder SMS ihnen, dass sie eine Überprüfung benötigen erinnert senden.

  2. Um Patienten zu ermutigen, ihre Wellness-Prüfungen abzulegen, lassen Sie in der E-Mail oder SMS eine "Antwort" -Funktion zu, die den Rezeptionisten benachrichtigt, um einen Termin zu vereinbaren.

  3. Für Patienten mit chronischen Erkrankungen, die regelmäßige Nachuntersuchungen benötigen, können Sie diese auch per E-Mail oder SMS senden.

  4. Pester Patienten jede Woche, bis sie ihre gesprengte Überprüfung bekommen, aber aus Gründen der Vernunft, nicht öfter als das.

Offensichtlich, wie ein Wellness-System eine Datenbank Spur der Patienten haben würde zu halten, dass eine Tabelle wie diese haben könnte:

CREATE TABLE patient 
(
    patient_id INTEGER, 
    first_name VARCHAR2(255) NOT NULL, 
    last_name VARCHAR2(255) NOT NULL, 
    last_checkup_date DATE, 
    follow_up_days INTEGER 
    email_address VARCHAR2(255), 
    mobile_nbr  VARCHAR2(255), 
    last_notify_date DATE, 
    PRIMARY KEY(patient_id) 
); 

Für den Text-Messaging, das ist ein Idealfall für JMS . Sie können HornetQ, RabbitMQ, ActiveMQ oder eine Vielzahl anderer verwenden.

Jetzt, für einen Moment anhalten und an den ganzen Code denken, den Sie schreiben müssten, wenn Sie dies in direktem Java tun würden. Für die Anforderungen, die ich gerade erwähnt habe, könnten Sie diese Anwendung ohne eine Zeile Java-Code schreiben.

4

Ich bin selbst kein Experte für Spring oder Spring Batch oder Spring Integration, aber ich kann Ihnen eine praktische Aufgabe nennen, die ich in meiner Organisation machen musste, um all diese für eine Anforderung zu verwenden.

Meine Firma nimmt die Kreditkarte von unseren Kunden, wenn sie sich anmelden und sie alle 30 Tage berechnen. Also müssen wir jeden Tag sehen, wer am 30. Tag ist und unseren Service für sie automatisch erneuern, indem wir sie belasten. Daher muss ich die Daten täglich an die Banken senden.

Schritt: 1 Ich musste ein Programm schreiben, um Kreditkartendetails von Kunden an diesem Tag von unserer gesicherten Datenbank durch ein Stapelprogramm zu holen und diesen Inhalt in einem bestimmten Format zu schreiben, das die Bank an einem temporären Ort wünscht in unserer Unternehmens-Server als ".txt" Datei (Bsp: /user/someuser/endofdaytransaction/dd-mm-yyyy.txt)

Schritt: 2 Sobald der Inhalt (dd-mm-yyyy. txt) ist in diesem Verzeichnis verfügbar (/ user/oneworld/endofdaytransaction /) Ich muss mich mit dem SFTP-Server der Bank verbinden und die Datei in das Verzeichnis übertragen, das uns die Bank zur Verfügung gestellt hat.

Ich benutze Spring Batch für Schritt: 1, der Batch-Job wird durch einen Quartz-Scheduler täglich um 17 Uhr und Spring-Integration für Schritt: 2 ausgelöst, um das Verzeichnis abfragen und sobald die Datei gefunden wird übertragen Sie es an die Bank.

Ich sehe auch aus den Frühlingsdokumenten, dass ich ein Mashup dieser Technologien machen kann, d. H. Ich kann vermeiden, in ein temporäres Verzeichnis zu schreiben und Spring Integration zu bitten, direkt auf den SFTP-Server der Bank zu schreiben.

Andere praktische Beispiel könnte ich denken: Ich habe AT & T und haben Auto-Pay abonniert, d. H. Sie berechnen mir alle 30 Tage und halten meine Internet-und Telefon-Service aktiv. Ich habe AT & T meine Bankkreditkartendetails zur Verfügung gestellt. Sie aggregieren alle abzurechnenden Kreditkarten (Abonnenten) und senden die Daten an VISA oder MASTERCARD, die jeden Tag zu einer bestimmten Zeit als Batch-Datei abgerechnet werden müssen. Ich hoffe, Sie können sich auf die von mir erwähnten Schritte 1 und 2 beziehen. Viel Spaß beim Lernen!