Spring Batch簡単な練習
8634 ワード
👊 Spring Bootで開始
spring initializrさんはSpringBootプロジェクトになりました.
まず、会社の現在の環境に基づいて作成する必要があります.
🔨 プロジェクトの設定
プロジェクトを解凍しintellijで開きます.
一括設定
@EnableBatchProcessing //배치 활성화
@SpringBootApplication
public class CreshBatchApplication {
public static void main(String[] args) {
SpringApplication.run(CreshBatchApplication.class, args);
}
}
@EnableBatchProcessing
音声プロンプトを適用してSpring Batchプログラムをアクティブにします.
🎹 簡単なbatch練習 @Slf4j
@RequiredArgsConstructor
@Configuration //Spring에 설정 파일이라는 선언
public class TestJob {
private final JobBuilderFactory jobBuilderFactory;
private final StepBuilderFactory stepBuilderFactory;
@Bean
public Job simpleJob() {
return jobBuilderFactory.get("simpleJob") //(1) simpleJob 이름으로 batch job을 생성
.start(simpleStep1()) //(2) simpleStep1 method Step을 실행
.build();
}
@Bean
public Step simpleStep1() {
return stepBuilderFactory.get("simpleStep1") //(3) simpleStep1 batch step을 생성
.tasklet((contribution, chunkContext) -> { //(4) step 안에서 수행될 기능들을 명시, tasklet은 step 안에서 단일로 수행될 커스텀한 기능을 선언할 때 사용
log.info(contribution.toString());
log.info(chunkContext.toString());
log.info(">>>>> This is Step1");
return RepeatStatus.FINISHED; //(5) batch가 성공적으로 수행되고 종료됨을 반환
})
.build();
}
}
プロジェクトにjobsパッケージを作成し、Jobをテストします.classを作成し、次のコードを作成して結果値を表示します.
バッチジョブは、
@EnableBatchProcessing //배치 활성화
@SpringBootApplication
public class CreshBatchApplication {
public static void main(String[] args) {
SpringApplication.run(CreshBatchApplication.class, args);
}
}
@Slf4j
@RequiredArgsConstructor
@Configuration //Spring에 설정 파일이라는 선언
public class TestJob {
private final JobBuilderFactory jobBuilderFactory;
private final StepBuilderFactory stepBuilderFactory;
@Bean
public Job simpleJob() {
return jobBuilderFactory.get("simpleJob") //(1) simpleJob 이름으로 batch job을 생성
.start(simpleStep1()) //(2) simpleStep1 method Step을 실행
.build();
}
@Bean
public Step simpleStep1() {
return stepBuilderFactory.get("simpleStep1") //(3) simpleStep1 batch step을 생성
.tasklet((contribution, chunkContext) -> { //(4) step 안에서 수행될 기능들을 명시, tasklet은 step 안에서 단일로 수행될 커스텀한 기능을 선언할 때 사용
log.info(contribution.toString());
log.info(chunkContext.toString());
log.info(">>>>> This is Step1");
return RepeatStatus.FINISHED; //(5) batch가 성공적으로 수행되고 종료됨을 반환
})
.build();
}
}
プロジェクトにjobsパッケージを作成し、Jobをテストします.classを作成し、次のコードを作成して結果値を表示します.バッチジョブは、
実行ログの表示
ジョブ
表示して終了します.
画像ソース:https://juneyr.dev/2019-07-24/spring-batch-tasklet
taskletと{reader,processor,writer}の組合せを比較すると,taskletは一度にすべての処理を完了することができ,組合せは読み取り,論理的に行い,書き込みであると考えられる.また,2つの方法のうちstepを記述する際には1つの方法しか使用できないことが重要である.
참고글
香炉batch guide最高 スプリング配置チュートリアル
h 2設定とファイル作成
バッチ+プログラム実装
Reference
この問題について(Spring Batch簡単な練習), 我々は、より多くの情報をここで見つけました https://velog.io/@ililil9482/Spring-Batch-시작テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol