Spring Batch Retry - stellaxxx/batch GitHub Wiki

Reference Doc

  • Batch 2.2.0์—์„œ ๋‚ด๋ถ€ ๋ฉ”์†Œ๋“œ๋กœ ์กด์žฌํ•˜๋˜ ๊ธฐ๋Šฅ์ด ์ธํ„ฐํŽ˜์ด์Šค ๋ ˆ๋ฒจ๋กœ ์ƒํ–ฅ๋จ.
  • exception์ด ๋ฐœ์ƒํ•ด์„œ ์‹คํŒจ๋‚ฌ์„๋•Œ ์„ฑ๊ณตํ• ๋•Œ๊นŒ์ง€๋‚˜ ์–ธ์ œ๊นŒ์ง€ retryํ• ์ง€ ์„ ์–ธํ•œ ๋งŒํผ retry.
  • ๊ธฐ๋ณธ์€ ์„ฑ๊ณตํ• ๋•Œ๊นŒ์ง€ ๊ณ„์† try ํ•˜๋Š”๊ฑฐ์ง€๋งŒ ์žฌ์‹œ๋„or์ค‘๋‹จ์ ์„ ์„ ์–ธํ•˜๋ฉด ๊ทธ๋งŒํผ ์ˆ˜ํ–‰ํ•จ. (RetryPolicy)
  • chunk์— ๋Œ€ํ•ด์„œ ์„ค์ •.
  • exception ๋ฒ”์œ„ ์ง€์ • ๊ฐ€๋Šฅ. ์ง€์ •ํ•œ ๋ฒ”์œ„ ์ค‘ ํ•˜์œ„ exception์— ๋Œ€ํ•ด์„œ exclude ์„ค์ •๋„ ๊ฐ€๋Šฅ.
  • retry-limit ์ง€์ • (์•ˆ๊ทธ๋Ÿฌ๋ฉด ๋ฌดํ•œ๋Œ€๋กœ ๋Œ์•„๊ฐ)
<batch:tasklet>
  <batch:chunk reader="myItemReader" writer="myItemWriter" commit-interval="20" retry-limit="15">
    <batch:retryable-exception-classes>
      <batch:include class="de.codecentric.MyRetryableException" />
    </batch:retryable-exception-classes>
  </batch:chunk></batch:tasklet>

<batch:tasklet>
  <batch:chunk reader="myItemReader" writer="myItemWriter" commit-interval="20" retry-policy="myRetryPolicy"/></batch:tasklet>