2015-01-13 3 views
0

Мне нужно установить временной интервал в моей работе между выполнением каждого элемента ItemWriter, как спящий режим.Spring Batch: Как установить временной интервал между каждым элементом

Я использую задачу куска.

Мой код:

<job id="job" xmlns="http://www.springframework.org/schema/batch"> 
    <step id="stepSendingEngine" parent="abstractStep"> 
     <tasklet> 
      <chunk reader="Reader" writer="Writer" commit-interval="1" retry-limit="3" skip-limit="100" > 
       <retryable-exception-classes> 
        <include class="MyException"/> 
        </retryable-exception-classes> 
       <skippable-exception-classes> 
        <include class="MyException"/> 
       </skippable-exception-classes> 
      </chunk> 
      <listeners> 
       <listener ref="MySkipListener" /> 
      </listeners> 
     </tasklet> 
    </step> 
    <listeners> 
     <listener ref="myListenerSupport" /> 
    </listeners> 
</job> 
+0

Не мог бы просто поставить Thread.sleep после того, как вы написали с помощью справки ItemWriter? –

+0

Зачем нужна задержка? –

+0

Моя работа отправляет электронное письмо по каждому элементу. Поскольку у меня проблема с моим провайдером электронной почты для отправки лимитов, мне нужно дождаться интервала времени, прежде чем отправлять следующее письмо. – stegada

ответ

0

Я думаю, что это лучше объяснить, почему вам нужен этот сон между Writer казням. Это не похоже на правильный подход с Spring Batch.

Но все же это задание выполняется одним потоком. Вы можете поместить сна где угодно (например: в реализации автора).

Смежные вопросы