logo

5. Spring Batch 가이드 - Spring Batch Scope & Job Parameter

language-logoSpring

• Spring Batch에서는 Job Parameter를 통해 외부 혹은 내부에서 파라미터를 받아 여러 Batch 컴포넌트에서 사용할 수 있으며, 이를 사용하기 위해서는 `@StepScope`와 `@JobScope`라는 Spring Batch 전용 Scope를 선언해야 한다.
• `@StepScope`와 `@JobScope`는 Spring Batch가 제공하는 특별한 Bean Scope로, Bean의 생성 시점을 지정된 Scope가 실행되는 시점으로 지연시키는 역할을 한다. `@JobScope`는 Job 실행 시점에, `@StepScope`는 Step의 실행 시점에 Bean이 생성된다.
• Spring Batch에서 JobScope와 StepScope는 Job이나 Step의 실행 시점에 Bean을 생성하고 삭제하는 역할을 합니다. 이를 통해 JobParameter의 Late Binding이 가능하게 되며, 동일한 컴포넌트를 병렬로 사용할 때 각각의 Step에서 별도의 Tasklet을 생성하고 관리할 수 있습니다.
• Job Parameters는 `@Value`를 통해 사용할 수 있으며, 이는 Scope Bean을 생성할 때만 가능합니다. 즉, `@StepScope`, `@JobScope` Bean을 생성할 때만 Job Parameters가 생성되어 사용할 수 있습니다. 이를 통해 메소드의 파라미터로 JobParameter를 할당받지 않고, 클래스의 멤버 변수로 JobParameter를 할당받아 사용할 수 있습니다.

thumbnail
북마크
공유하기
신고하기
12분 분량
조회수 207
profile-image향로
2년 전
Copyright © 2025. Codenary All Rights Reserved.