способ указать неисправный элемент в чанке во время записи в весенний пакет - PullRequest
2 голосов
/ 21 июля 2011

Какими способами можно зарегистрировать точный элемент, который не удалось записать во фрагменте размером, скажем, 10 элементов?

Есть ли способ перехватить его в методе onWriteError ItemWriteListener?Можно ли узнать это, расширив интерфейс ItemWriter?

Спасибо и привет, Ник

1 Ответ

1 голос
/ 21 июля 2011

вы можете настроить пропустить логику с Integer.MAX_VALUE = 2.147.483.647

<step id="step1">
   <tasklet>
      <chunk reader="flatFileItemReader" writer="itemWriter" 
             commit-interval="10" skip-limit="2147483647">
         <skippable-exception-classes>
            <include class="org.springframework.batch.item.file.FlatFileParseException"/>
         </skippable-exception-classes>
      </chunk>
   </tasklet>
   <listeners>
        <listener ref="customSkipListener" />
   </listeners>
</step>

и используйте пропускающий прослушиватель (см. Также там аннотации), чтобы регистрировать плохие объекты во время записи

если ваш писатель уже является пользовательской реализацией, он может быть расширен до слушателя, который отвечает только на OnSkipInWrite, просто добавьте метод с помощью @OnSkipInWrite и зарегистрируйте писателя как слушателя (*)

(*) будьте осторожны - если записывающее устройство также является потоком, не регистрируйтесь как прослушиватель, потоки автоматически регистрируются как (пошаговые) прослушиватели

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...