2013-03-14 1 views
0

я получил весной пакетное InPlace и я хочу, чтобы настроить повторы логику я получил следующую конфигурацию:как я могу подтвердить, что повторная попытка работает в весеннем пакетном impelmentation

<step id="roundUpMonthlyJobFetchUsers"> 
      <tasklet> 
       <chunk reader="roundUpMonthlyItemReader" processor="roundUpMonthlyItemProcessor" 
         writer="roundUpMonthlyItemWriter" commit-interval="1" retry-limit="3" > 
        <retryable-exception-classes> 
         <include class="java.io.IOException" /> 
        </retryable-exception-classes> 
       </chunk> 
      </tasklet> 
     <end on="COMPLETED"/> 
    <fail on="FAILED"/> 
</step> 

Как cofirm, что его на самом деле пытаюсь сделать операцию по крайней мере 3 раза, когда он сталкивается с IOException

ответ

0

Изменить этот класс roundUpMonthlyItemReader

чтобы войти что-то на входе, а затем бросить каждый раз IOException, то проверьте журналы :)

log.info("Reading Monthly round up"); 
throw new IOException("Dummy IOException"); 

Если вы хотите сделать это в ваших модульных тестов, вы должны быть в состоянии использовать Mockito для

  • Мок читателя или писателя, чтобы бросить IOException
  • Убедитесь, что называется 3 раза
+0

Я уже пробовал это, но когда я бросаю исключение, он появляется в журналах только не три раза. Я не знаю, нужно ли мне реализовать retrytemplate и поместить туда логику, которую я хочу запустить в попытке, это не имеет смысла, потому что я не хочу, чтобы я запускал один и тот же шаг, но просто путал, потому что я регистрируюсь, я вижу это исключение один раз с повторением или без повтора: S –

+0

и его roundUpMonthlyItemProcessor, где я хочу, чтобы он повторил. –