티스토리 뷰

1. 배치의 도메인 언어


Spring Batch 에는 Jobs 및 Step가 있으며 개발자는 ItemReaders 및 ItemWriters라는 처리 단위를 제공했습니다.

그러나 Spring patterns, operations, templates, callbacks 및 idioms 때문에 다음과 같은 기회가 있습니다.


      • 우려의 명확한 분리에 따른 현저한 개선
      • 명확하게 구분된 아키텍처 계층과 인터페이스로 제공되는 서비스
      • 신속하고 기본적인 구현과 손쉬운 사용 편의성을 제공하는 간단하고 기본적인 구현
      • 상당히 향상된 확장성

아래 다이어그램은 수십년 동안 사용된 배치 참조 아키텍처의 단순화된 버전입니다. 이는 배치 프로세싱의 도메인 언어를 구성하는 구성요소에 대한 개요를 제공합니다.


Batch Stereotypes



위의 다이어그램은 배치의 도메인 언어를 구성하는 핵심 개념을 강조합니다. Job은 정확히 하나의 ItemReader, ItemProcessor 및 ItemWriter를 가진 하나 또는 여러 단계로 구성됩니다. 작업을 시작해야하고 (JobLauncher) 현재 실행중인 프로세스에 대한 메타 데이터를 저장해야 합니다. (JobRepository)


2. Job


Job은 전체 배치 프로세스를 캡슐화하는 엔티티이다. 



Spring Batch에서 Job은 단순히 Steps의 컨테이너 일뿐이다. 논리적으로 플로우에 속한 여러 단계를 결합하고 재시작 가능성과 같은 모든 단계에 대해 전역 속성을 구성 할 수 있습니다. 작업 구성에는 다음이 포함됩니다.


      • Job의 단산한 이름
      • Steps의 정의 및 순서 지정
      • Job 재시작 가능 여부

2.1 JobInstance


JobInstance는 논리적 작업 실행의 개념을 나타냅니다. 위 다이어그램의 'EndOfDay' Job과 같이 하루가 끝날 때 한 번 실행해야하는 배치 작업을 고려해 보겠습니다. 하나의 'EndOfDay' Job이 하나 있지만 각각의 개별 실행은 개별적으로 추적되어야 합니다. 이 Job의 경우, 하루에 하나의 논리적인 JobInstance가 있습니다. 예를 들어 1월1일 부터 1월2일까지 실행됩니다. 1월1일 Job이 처음 실패하고 다음날 다시 실행되면 여전히 1월1일 Job입니다. 

'DEV > java&spring' 카테고리의 다른 글

[Spring Batch] String Batch 소개  (0) 2017.11.03
댓글