꿀똥벌레
꿀똥벌레 개발 블로그
꿀똥벌레
전체 방문자
오늘
어제
  • 분류 전체보기 (90)
    • JAVA (17)
    • SPRING (14)
    • Elasticsearch (4)
    • GRADLE (2)
    • HTML, CSS (0)
    • JAVASCRIPT (0)
    • GIT (1)
    • Vue.js (1)
    • server (1)
    • Python (0)
    • IT리뷰 (0)
    • 인프라 (6)
    • IOS (21)
    • 디자인패턴 (20)
    • Kafka (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 스프링 인티그레이션
  • java
  • ES
  • persistence connection
  • Index Template
  • 스프링 인테그레이션
  • connectionRequestTimeout
  • elasticsearch
  • mappings
  • spring integration
  • springintegration
  • KEEPALIVE
  • spring
  • maxConnPerRoute
  • 엘라스틱서치
  • maxConnTotal
  • Index
  • 인덱스 템플릿
  • persistent connection
  • SWIFT

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
꿀똥벌레

꿀똥벌레 개발 블로그

SPRING

Spring Batch

2021. 4. 28. 14:21

1. Job은 하나의 배치 작업 단위를 얘기한다.

2. 하나의 Job은 여러개의 Step을 가지고 있다.

3. step 은 tasklet 이나 reader, processor, writer 묶음을 가지고 있을 수 있다.

  • tasklet 과 reader, processor, writer 묶음은 같은 레벨이므로 reader > processor > tasklet 등으로 끝낼 순 없다.

4. reader, processor, writer 묶음으로 처리하는 방식을 chunk 지향 처리 방식 이라 한다.

5. ItemReader, ItemProcessor, ItemWriter 를 구현하여 각 컴포넌트 를 작성 해야 한다.

 stepBuilderFactory.get("name")
.<Line, Line>chunk(2)
.reader(reader)
.processor(processor)
.writer(writer)
.build();

Tasklet은 하나의 작업 진행 후 다른 작업 진행 시나리오에 대해 더 자연스럽지만, 청크는 페이지를 읽고 처리하거나 또는 메모리에 많은 양의 데이터를 유지하고 싶지 않은 상황을 처리 하는데 적합하다.

chunk 는 청크 단위를 정하고 그 단위에 대해 더이상 read할 파일이 없을때까지 반복한다.

작업의 commit 은 청크 단위로 진행된다.

Reader 구현시 ItemReader 를 implement 하고

스텝과 스텝 사이를 돌아다닐 수 있는 DTO는 반드시 Serializable 을 구현 해야한다.

StepExecutionListener 를 구현하면 beforeStep 메소드와 afterStep 메소드를 구현해야 한다.

execution 전후에 실행될 작업을 구현할 수 있다.

beforeStep 과 afterStep 의 파라미터로 들어오는 StepExecution 을 통해

stepExecution.getJobExecution().getExecutionContext().put("key", value); 로 삽입하고,

다음 스텝에서 stepExecution.getJobExecution().getExecutionContext().get("key")로 가져올 수 있다.

'SPRING' 카테고리의 다른 글

Spring 메소드 실행 실패시 재실행  (0) 2021.05.24
Spring Rest Docs 사용법  (0) 2021.05.02
Spring RestTemplate  (0) 2021.04.20
스프링 비동기 타임아웃 설정 변경  (0) 2020.11.23
spring 예외 핸들링  (0) 2020.11.22
    꿀똥벌레
    꿀똥벌레
    개발자 꿀똥벌레 입니다.

    티스토리툴바