Batch

  • ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ: ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ I/O
  • ์ž๋™ํ™”: ์‚ฌ์šฉ์ž์˜ ๊ฐœ์ž… ์—†์ด ์‹คํ–‰
  • ๊ฒฌ๊ณ ์„ฑ: ์‹คํ–‰ ๋„์ค‘ ์ข…๋ฃŒ๋˜๋Š” ์ผ ์—†์ด ์ˆ˜ํ–‰
  • ์‹ ๋ขฐ์„ฑ: ์ค‘๋ณต์ด๋‚˜ ๋ˆ„๋ฝ ์—†์ด ์ˆ˜ํ–‰
  • ์„ฑ๋Šฅ: ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์˜๋ฏธํ•œ ์‹œ๊ฐ„ ์•ˆ์— ์ˆ˜ํ–‰

Spring Batch

  • @Configuration ๋“ฑ๋ก ํ•„์š”
  • Job: ํ•˜๋‚˜์˜ ๋ฐฐ์น˜ ์ž‘์—… ๋‹จ์œ„
  • Step: Job์— ์†ํ•œ ํ•˜์œ„ ์ž‘์—… ๋‹จ์œ„ (๊ธฐ๋ณธ ํŠธ๋žœ์žญ์…˜)
    • Tasklet: Custom ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋‹จ์œ„
    • Reader
    • Processor
    • Writer

๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ

  • spring-batch-core.jar ๋‚ด๋ถ€์— schema-*.sql ํŒŒ์ผ์ด ์กด์žฌ
  • BATCH_JOB_INSTANCE: Job Parameter์— ๋”ฐ๋ผ record ์ƒ์„ฑ๋จ
  • BATCH_JOB_EXECUTION: Job Instance์˜ ์ž์‹ ๊ด€๊ณ„๋กœ ์‹คํ–‰๋งˆ๋‹ค record ์ƒ์„ฑ๋จ
  • BATCH_JOB_EXECUTION_PARAMS
  • BATCH_JOB_EXECUTION_CONTEXT
  • BATCH_STEP_EXECUTION
  • BATCH_STEP_EXECUTION_CONTEXT

Scope

  • Bean์˜ ์ƒ์„ฑ ์‹œ์ ์„ ์ง€์ •๋œ Scope๊ฐ€ ์‹คํ–‰๋˜๋Š” ์‹œ์ ์œผ๋กœ ์ง€์—ฐ
  • @JobScope: Step ์„ ์–ธ๋ฌธ์—์„œ ์‚ฌ์šฉ
  • @StepScope: Tasklet์ด๋‚˜ Reader/Processor/Writer์—์„œ ์‚ฌ์šฉ
  • ์žฅ์ 
    • JobParameter์˜ Late Binding
    • ๋™์ผํ•œ ์ปดํฌ๋„ŒํŠธ์˜ ๋ณ‘๋ ฌ ์ ‘๊ทผ

Chunk

ItemReader

ItemWriter

์นดํ…Œ๊ณ ๋ฆฌ: