Skip to content

bnitech/spring-batch-developed-based-on-spring-boot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot 기반으로 개발하는 Spring Batch (Spring Batch developed based on Spring Boot)

온라인 강좌: 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch

📝 노트

  • 방향성
    • Batch 관련 키워드를 습득한다.
    • Spring Batch 의 구성과 제공하는 기능들을 살펴본다.
    • 사내 프로젝트의 구성과 비교하여 개선할 점을 찾는다.
    • 내 베이스 지식과 연관지어서 리팩토링을 해본다.
  • 추가 메모 on Notion

✅ 목차 및 진행상황

  • 섹션 0. 강좌 소개
    • 서론
    • 목차 / 개발 환경 및 선수 지식
  • 섹션 1. 스프링 배치 소개
    • 개요 및 아키텍처
  • 섹션 2. 스프링 배치 시작
    • 목차 소개
    • 프로젝트 구성 및 의존성 설정
    • Hello Spring Batch 시작하기
    • DB 스키마 생성 및 이해 (1)
    • DB 스키마 생성 및 이해 (2)
  • 섹션 3. 스프링 배치 도메인 이해
    • 목차 소개
    • Job
    • JobInstance
    • JobParameter
    • JobExecution
    • Step
    • StepExecution
    • StepContribution
    • ExecutionContext
    • JobRepository
    • JobLauncher
  • 섹션 4. 스프링 배치 실행 - Job
    • 목차 소개
    • 배치 초기화 설정
    • Job and Step 소개
    • JobBuilderFactory
    • SimpleJob - 개념 및 API 소개
    • SimpleJob - start() / next()
    • SimpleJob - validator()
    • SimpleJob - preventRestart()
    • SimpleJob - incrementer()
    • SimpleJob 아키텍처
  • 섹션 5. 스프링 배치 실행 - Step
    • StepBuilderFactory
    • TaskletStep - 개념 및 API 소개
    • TaskletStep - tasklet()
    • TaskletStep - startLimit() / allowStartIfComplete()
    • TaskletStep 아키텍처
    • JobStep
  • 섹션 6. 스프링 배치 실행 - Flow
    • FlowJob - 개념 및 API 소개
    • FlowJob - start() / next()
    • Transition - 배치상태 유형 (BatchStatus / ExitStatus / FlowExecutionStatus)
    • Transition - on() / to() / stop(), fail(), end(), stopAndRestart()
    • 사용자 정의 ExitStatus
    • JobExecutionDecider
    • FlowJob 아키텍처
    • SimpleFlow - 개념 및 API 소개
    • SimpleFlow 예제
    • SimpleFlow 아키텍처
    • FlowStep
    • @JobScope / @StepScope - 기본개념 및 설정
    • @JobScope / @StepScope 아키텍처
  • 섹션 7. 스프링 배치 청크 프로세스 이해
    • 목차 소개
    • Chunk
    • ChunkOrientedTasklet - 개념 및 API 소개
    • ChunkOrientedTasklet - ChunkProvider / ChunkProcessor
    • ItemReader / ItemWriter / ItemProcessor 이해
    • ItemStream
    • Chunk Process 아키텍처
  • 섹션 8. 스프링 배치 청크 프로세스 활용 - ItemReader
    • 목차 소개
    • FlatFileItemReader - 개념 및 API 소개
    • FlatFileItemReader - delimetedlinetokenizer
    • FlatFileItemReader - fixedlengthtokenizer
    • FlatFileItemReader - Exception Handling
    • XML StaxEventItemReader - 개념 및 API 소개
    • XML StaxEventItemReader -예제
    • JsonItemReader
    • DB - Cursor & Paging 이해
    • DB - JdbcCursorItemReader
    • DB - JpaCursorItemReader
    • DB - JdbcPagingItemReader
    • DB - JpaPagingItemReader
    • ItemReaderAdapter
  • 섹션 9. 스프링 배치 청크 프로세스 활용 - ItemWriter
    • FlatFileItemWriter - 개념 및 API 소개
    • FlatFileItemWriter - delimeted
    • FlatFileItemWriter - format
    • XML StaxEventItemWriter
    • JsonFileItemWriter
    • DB - JdbcBatchItemWriter
    • DB - JpaItemWriter
    • ItemWriterAdapter
  • 섹션 10. 스프링 배치 청크 프로세스 활용 - ItemProcessor
    • CompositeItemProcessor
    • ClassifierCompositeItemProcessor
  • 섹션 11. 스프링 배치 반복 및 오류 제어
    • 목차 소개
    • Repeat
    • FaultTolerant
    • Skip
    • Retry (1)
    • Retry (2)
    • Retry (3)
    • Skip & Retry 아키텍처
  • 섹션 12. 스프링 배치 멀티 스레드 프로세싱
    • 기본 개념
    • AsyncItemProcessor / AsyncItemWriter
    • Multi-threaded Step
    • Parallel Steps
    • Partitioning (1)
    • Partitioning (2)
    • SynchronizedItemStreamReader
  • 섹션 13. 스프링 배치 이벤트 리스너
    • 기본개념
    • JobExecutionListener / StepExecutionListener
    • ChunkListener / ItemReadListener /ItemProcessListener /ItemWriteListener
    • SkipListener & RetryListener
  • 섹션 14. 스프링 배치 테스트 및 운영
    • Spring Batch Test
    • JobExplorer / JobRegistry / JobOperator
    • 섹션 15. 실전! 스프링 배치 어플리케이션 개발
    • 어플리케이션 예제 (1)
    • 어플리케이션 예제 (2)
    • 어플리케이션 예제 (3)
    • 어플리케이션 예제 (4)
    • 어플리케이션 예제 (5)
    • 어플리케이션 예제 (6)
    • 어플리케이션 예제 (7)
  • 섹션 16. 강좌 마무리
    • 정리