Job  - 배치 작업

Step - 배치 작업 단계

- 무언가를 읽어서 어딘가에 쓰는 작업으로 정의

- 모든 배치작업은 결국 무언가를 읽어서 쓰는 작업으로 추상화

 

Step은 무언가를 읽어 들이는 ItemReader와 어딘가로 쓰는 ItemWriter로 구성된다

읽어서 쓰기 전에 지지고 볶는 작업을 ItemProcessor 이다

 

JOB

온전한 하나의 배치작업을 Job이라 부른다

Job 하나가 배치 프로그램 한본

Job은 하나이상의 Step으로 구성

Job은 배치 프로그램의 설계서에 해당, 배치를 구성하는 Step을 정의하고, 그 흐름을 제어하는 로직 설정

 

Job은 JobParameter를 통해 객체로 생성되어 프레임워크에 의해 실행

JobParameter를 통해 생성된 배치작업을 JobInstance라 부른다

동일한 설계서에 의한 배치작업은 JobParameter에 의해서 구별

 

STEP

배치 프로세스 내에서의 순차적인 각각의 단위 작업

job는 적어도 하나의 step를 가진다

무언가를 읽어서 어딘가(리더)에 쓰는것(라이터)을 정의

ItemReader

- 처리할 작업대상을 읽어 들이는 역할 수행

- jdbcCurosrItemReaderAdapter

- jdbcAgentItemReader

- FlatFileItemReader

 

ItemWriter

- ItemReader를 통해 Fetch한 Item을 처리한다

- jdbcBatchItemWriterAdapter

- jdbcAgentItemWriter

- FlatFileItemWriter

- CompositeItemWriter

 

ItemProcessor

- Fetch 한 Item을 ItemWriter에 쓰기전에 수행할 작업을 지정할수 있다

 

 

- Chunk 단위로 Step을 처리한다

- Item을 다 읽어서 한방에 Write한다

ex) 1000건을 Fetch하면 덩어리를 ItemWriter에 넘기고 커밋을 한번 날린다

<step id="step1">
    <tasklet>

<chunk reader="itemReader" writer="itemWriter" commit-interval="1000"/>
    </tasklet>
</step>

 

Tasklet Step

- StoredProcedure 호출, Shell Program 실행

- SimplejdbcTemplateTasklet

- jdbcAgentTasklet

- SystemCommandTasklet

- 생성방법

 : Tasklet Interface 구현

 : jdbcAgentTasklet 상속

 : 기존서비스재활용

 

 

 

 

 

 

 

 

 

'Study > Spring' 카테고리의 다른 글

배치 개발환경 설정  (0) 2012.12.20
Batch 명명 및 패키지 생성  (0) 2012.12.20
Spring Batch  (0) 2012.12.13
Posted by 코딩하는 야구쟁이
,