diff --git a/shp-exporter/src/main/java/com/kamco/makesample/batch/tasklet/PostShapefileUpdateTasklet.java b/shp-exporter/src/main/java/com/kamco/makesample/batch/tasklet/PostShapefileUpdateTasklet.java new file mode 100644 index 0000000..22a6f85 --- /dev/null +++ b/shp-exporter/src/main/java/com/kamco/makesample/batch/tasklet/PostShapefileUpdateTasklet.java @@ -0,0 +1,64 @@ +package com.kamco.makesample.batch.tasklet; + +import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.batch.core.StepContribution; +import org.springframework.batch.core.configuration.annotation.StepScope; +import org.springframework.batch.core.scope.context.ChunkContext; +import org.springframework.batch.core.step.tasklet.Tasklet; +import org.springframework.batch.repeat.RepeatStatus; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Component; + +/** + * Shapefile 생성 완료 후 실행되는 UPDATE Tasklet + * + *
Job Flow 상 generateShapefileStep 이후에 실행됩니다. + * + *
실행할 SQL은 이 클래스의 execute() 메서드 안에 작성하세요.
+ */
+@Component
+@StepScope
+public class PostShapefileUpdateTasklet implements Tasklet {
+
+ private static final Logger log = LoggerFactory.getLogger(PostShapefileUpdateTasklet.class);
+
+ private final JdbcTemplate jdbcTemplate;
+
+ @Value("#{jobParameters['inferenceId']}")
+ private String inferenceId;
+
+ @Value("#{jobParameters['batchIds']}")
+ private String batchIds;
+
+ public PostShapefileUpdateTasklet(JdbcTemplate jdbcTemplate) {
+ this.jdbcTemplate = jdbcTemplate;
+ }
+
+ @Override
+ public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext)
+ throws Exception {
+
+ log.info(
+ "Executing post-shapefile UPDATE for inferenceId={}, batchIds={}", inferenceId, batchIds);
+
+ List