2012-07-11 22 views
6

La mia domanda riguarda il batch di primavera e le transazioni.nel batch di primavera e gestione dei rollback

Dire che ho scelto un intervallo di commit di 50 per uno dei miei passaggi.

Supponiamo inoltre di avere 1000 record in tutti e tra questi record, causando il fallimento di itemWriter, provocando un rollback dell'intero blocco (50 record nel mio esempio).

Quali sono le strategie per assicurarsi che i 49 record validi vengano scritti nel database dopo che il lavoro è stato completato (e ignorato il blocco problematico)?

risposta

12

Dopo qualche ricerca, mi si avvicinò con il seguente:

Se uno scrittore articolo non riesce a commettere un pezzo (qui 50 articoli) causando in tal modo un rollback, batch di Primavera sarà rieseguire ogni elemento del pezzo problematica individualmente con un commit/transazione per ogni articolo.

Pertanto, tutti i 49 articoli saranno presenti nel database tranne l'elemento che ha causato il blocco di Spring Batch back.

+0

Puoi mostrare un riferimento a questo? –

+0

Buon punto. Questo è da un libro: Spring Batch in Action, Manning. – balteo

Problemi correlati