출처
- 해당 포스트는 정수원 강사님의 스프링 배치 - Spring Boot 기반으로 개발하는 Spring Batch 강의를 바탕으로 작성 됐습니다.
목차
- Spring Batch - ItemWriter
- Spring Batch - ItemProcessor
- Spring Batch - ItemReader
- Spring Batch - ChunkProvider 와 ChunkProcessor
- Spring Batch - ChunkOrientedTasklet
- Spring Batch - Chunk 기반 Step
- Spring Batch - 24. FlowJob
- Spring Batch - 23. Job 을 Step 으로 갖는 JobStep
- Spring Batch - 22. Tasklet 기반 Step
- Spring Batch - 21. TaskletStep
- Spring Batch - 20. StepBuilderFactory 와 StepBuilder
- Spring Batch - 19. JobParameters 증가 JobParametersIncrementer
- Spring Batch - 18. Job 의 재시작 방지 preventRestart
- Spring Batch - 17. JobParameters 검증 JobParametersValidator
- Spring Batch - 16. SimpleJob 와 SimpleJobLauncher
- Spring Batch - 15. JobBuilderFactory & JobBuilder
JobStep
Job 에 속하는 Step 중에서 외부의 Job 을 포함하고 있는 Step 입니다. 외부의 Job 이 실패하게 되면 해당 Step 이 실패하므로 결국 해당 Step 을 가진 Job 도 실패하게 됩니다.
모든 메타데이터는 기본 Job 과 외부 Job 별로 각각 저장됩니다.
커다란 시스템을 작은 모듈로 쪼개고 Job 의 흐름을 관리하고자 할때 사용할 수 있습니다.
|
JobParametersExtractor
이 인터페이스는 Job 실행 시 필요한 매개변수를 추출하는 역할을 담당합니다.
JobParametersExtractor는 Job 실행을 위해 필요한 매개변수를 추출하는 메서드인 extract()를 정의합니다. 이 메서드는 JobParameters 객체를 반환하며, Job 실행에 필요한 매개변수를 포함합니다.
Spring Batch에서는 매개변수를 추출하는 여러 가지 방법을 제공합니다. 주요한 방법은 다음과 같습니다.
- 커맨드 라인 매개변수(Command-line Parameters): 실행 명령어나 스크립트를 통해 Job을 실행할 때, 커맨드 라인에서 전달되는 매개변수를 추출합니다. 예를 들어, “–param1=value1 –param2=value2”와 같이 전달되는 매개변수를 읽어와 JobParameters 객체로 변환합니다.
- 환경 변수(Environment Variables): 운영체제의 환경 변수를 통해 매개변수를 전달받을 수 있습니다. 예를 들어, “MY_PARAM=value”와 같은 환경 변수를 읽어와 JobParameters 객체로 변환합니다.
- 속성 파일(Properties Files): Spring 환경 설정 파일에 정의된 속성 값을 읽어와 매개변수로 사용할 수 있습니다. 예를 들어, “my.param=value”와 같이 정의된 속성 값을 읽어와 JobParameters 객체로 변환합니다.
- JobParametersExtractor를 직접 구현하여 매개변수를 추출하는 로직을 사용자 정의할 수도 있습니다. 이를 통해 특정한 매개변수 소스나 추출 방식에 따라 JobParameters를 생성할 수 있습니다.
추출된 JobParameters 객체는 Spring Batch의 Job 실행 시점에 사용되며, Job 내에서 필요한 매개변수 값을 참조할 수 있게 됩니다. 이를 통해 Job의 실행을 동적으로 제어하고, 매개변수 값을 변경하여 다양한 실행 시나리오를 처리할 수 있습니다.
public interface JobParametersExtractor { |