(im neuen Batch sorry für dumme Frage zu springen, aber Google zeigt mir kein Beispiel)Verarbeiten von Fehlern in Flat-File-Leser
Ich habe einen Batch-Job, der von Quarz um Mitternacht täglich gekickt wird. Der Job versucht eine oder mehrere flache Dateien zu lesen und verarbeitet sie. Manchmal ist die Datei, die der Job liest, NICHT dort, wo sie sein muss. also FileNotFoundException bekommen. Wir möchten dem Produktionsteam per E-Mail mitteilen, dass die erforderliche Datendatei nicht verfügbar ist.
Ich denke, etwas im Sinne des Folgenden ist die bevorzugte Art, das im Springbatch zu tun. Habe ich Recht oder gibt es einen besseren Weg? Sollte mein notifyProdSupLister in der Batch: Chunk-Anweisung?
<batch:step id="readDataFileStep" next="processDataFileStep">
<batch:listeners>
<batch:listner ref="notifyProdSupListner"/>
</batch:listeners>
<batch:tasklet .....>
<batch:chunk reader="stagedDataReader" processor="extractProcessor"
writer="extractOutputWriter" commit-interval="1">
<batch:listeners>
<batch:listener ref="chunkListener" />
</batch:listeners>
</batch:chunk>
</batch:tasklet>
</batch:step>
Ich gehe davon aus meinem listner so etwas wie Paket com.mkyong.listeners aussehen würde;
public class notifyProdSupListner implements ItemReadListener<Domain> {
@Override
public void onReadError(Exception ex) {
if (ex instanceof FileNotFoundException) {
//mail support group
}
}
}