Wie schon im letzten Artikel (Sicherer Datenversand mit SFTP und Spring Batch ) befasst sich auch dieser Artikel mit einer nicht mehr ganz taufrischen, nichtsdestotrotz aber sehr wichtigen Technologie: E-Mail. In diesem Artikel wird gezeigt, wie sich der Versand von E-Mails mit Hilfe von Spring Batch einfach realisieren lässt. Spring Batch bringt hierfür schon einige fertige Komponenten mit, die man nur noch geeignet kombinieren muss.
Im folgenden Beispiel werden drei Beans deklariert, die beim E-Mail-Versand eine Rolle spielen:
mailSender,sendMailTaskletsowiesendMailService.
Die Bean mailSender muss nur deklariert werden, da wir hier eine Klasse aus dem Framework verwenden. Auf dieser Bean werden alle benötigten Parameter zur Verbindung mit dem Mail-Server konfiguriert.
Deklaration der Bean mailSender
Das Tasklet wird von Spring Batch während der Ausführung aufgerufen (Methode execute). Es koordiniert das Zusammenspiel der anderen beiden Beans. Des Weiteren werden auf dem Tasklet noch einige weitere Parameter für den E-Mail-Versand konfiguriert.
Deklaration des Tasklets
Java-Code für das Tasklet
Der sendMailService schließlich kümmert sich um das Aufbereiten und Verschicken der E-Mail selbst.
Deklaration des Services
Der Java-Code für den Service
Der Ablauf des Batch Jobs wird durch die Deklaration des Tags batch:job angegeben. In unserem Fall ist hier nur das Tasklet als einziger Step anzugeben:
Dies ist auch schon alles, was man zum Versand von E-Mails mit Spring Batch benötigt. Der Batch Job kann nun wie gehabt über die Kommandozeile/Shell (also z. B. auch durch einen cronjob) gestartet werden.
Blog-Autor*in
Carsten Fröhlich
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.