DevBoi

[Spring Batch] 스프링 배치의 구조 본문

Develop/[Spring Batch]

[Spring Batch] 스프링 배치의 구조

HiSmith 2022. 4. 10. 10:57
반응형

 

우선 스프링 배치의 구조이다.

 

 

JobLauncher로 Job을 실행 시키고, 

1:N관계로 있는 Job의 step 들이 실행된다. 또한 각 step에 있는 ItemReader, ItemProcessor,ItemWriter 들이 실행이 된다.

 

하나씩 더 살펴보도록하자

 

1) JobLauncher

Job을실행 시키는 역할을 한다. SpringBatch가 Job의 이름을 받아서 실행 시켜준다.

 

2) Job

JobInstance : 논리적인 Job실행

JobExecution : 한번 시도되는 Job 실행

JobParameter : Job들을 구분하는 파라미터, 오늘의 Job과 내일의 Job 이 다른 것에 대한 구분을 짓기 위함

 

3) Step

Batch Job을 구성하는 형태이다. 하나의 스탭은 reader,writer,processor의 동작을 가진다.

 

ItemReader

Step 내의 입력값 혹은, 데이터 베이스를 통한 조회값을 불러오는 역할을 한다.

 

ItemProcessor

Reader를 통해 불러온 값들을 가공하거나 처리하는 역할을 한다.

 

ItemWriter

Processor통해 가공하거나, Reader를 통해 불러온 값들을 데이터베이스에 저장하거나,

이메일로 쏘거나 등등을 하는 작업이다.

추상적으로 표현하면, 출력을 담당한다.

 

위 3가지의 단위를 Tasklet이라고 표현한다.

 

Job Repostiory는, 관련 메타 테이블인데 해당 포스팅은 다른 포스팅에서 자세히 다루도록 하자

 

 

 

반응형