Wiosenny interwał zatwierdzania (zatwierdzania) wsadowego i limit pomijania


Rozwiązaniem dla tego scenariusza jest interwał zatwierdzania (zatwierdzania) wynoszący 10, limit pomijania to 10, całkowity rekord wejściowy to 20, pierwszych 9 rekordów jest ważnych, a pozostałe są nieważne.
Gdy odczytano już 9 rekordów, dziesiąty rekord jest nieważny. Rozmiar bloku to 10, a limit pomijania to 10, więc czy Spring batch zapisze te 9 rekordów do pliku wyjściowego?
Jeśli nie, to jeśli nadal czyta pozostałe rekordy, to podczas odczytu dwudziestego rekordu liczba rekordów błędów wyniesie 11, a limit pominięć jest zdefiniowany jako 10. Zatem proces zostanie natychmiast zakończony. Jeśli chodzi o los ważnych wpisów, przeczytaj najpierw.
Czy pierwszych 9 rekordów zostanie zapisanych do pliku wyjściowego, czy nie.
Daj mi znać, jeśli jakieś rozwiązanie jest dostępne. Podziękować!
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możliwych jest więcej niż jeden wynik. Musisz dokładnie określić nieprawidłowe wpisy.

Czy są to nieprawidłowe odczyty:

w tym przypadku SB po prostu wywoła następny ItemReader (bez wycofywania). w ten sposób otrzymasz wyjątek ograniczenia pomijania, ponieważ 11 rekordów zostało unieważnionych.

Czy są to nieprawidłowe wpisy:

w tym przypadku SB powtórzy pierwszy fragment z interwałem zatwierdzenia (zatwierdzenia) równym 1, dopóki nie znajdzie złego rekordu. W takim przypadku powinieneś znaleźć pierwszych 9 rekordów w bazie danych.
z szacunkiem
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

W tym scenariuszu -
interwał zatwierdzania (zatwierdzania) wynosi 10, limit pominięcia to 10, całkowity rekord wejściowy to 20, pierwszych 9 rekordów jest ważnych, pozostałe są nieważne.
Gdy odczytano już 9 rekordów, dziesiąty rekord jest nieważny. Rozmiar bloku to 10, a limit pomijania to 10, więc Spring zapisuje wsadowo te 9 rekordów do pliku wyjściowego.
Odpowiedź to
SB pominie 10. nieprawidłowy wpis i przeczyta 11. wpis, a następnie poprosi piszącego o napisanie prawidłowego 10. wpisu, a ponieważ tylko jeden wpis był nieprawidłowy, liczba pominięć będzie wynosić 1.
przykład konfiguracji -

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się