Day 4. 잡 파라미터 이해하기

Day 4. 잡 파라미터 이해하기

// HelloWorldBatchWithValidator.java @RequiredArgsConstructor @Configuration public class HelloWorldBatchWithValidator { private static final String JOB_NAME = "helloWorldBatchWithValidatorJob"; private static final String STEP_NAME = "helloWorldBatchWithValidatorStep"; private static final String VALIDATOR_NAME = "helloWorldBatchValidator"; private final JobBuilderFactory jobBuilderFactory; private final StepBuilderFactory stepBuilderFactory; @Bean(name = VALIDATOR_NAME) public JobParametersValidator validator() { DefaultJobParametersValidator validator = new DefaultJobParametersValidator(); validator.setRequiredKeys(new String[]{"fileName"}); validator.setOptionalKeys(new String[]{"name"}); return validator; } @Bean(name = JOB_NAME) public Job helloWorldBatchWithValidatorJob() { return this.jobBuilderFactory.get(JOB_NAME) .validator(validator()) .start(helloWorldBatchWithValidatorStep(null, null)) .build(); } @Bean @JobScope public Step helloWorldBatchWithValidatorStep(@Value("#{jobParameters['name']}") String name, @Value("#{jobParameters['fileName']}") String fileName) { return this.stepBuilderFactory.get(STEP_NAME) .tasklet((contribution, chunkContext) -> { System.out.println("Hello, " + name); System.out.println("fileName= " + fileName); return RepeatStatus.FINISHED; }) .build(); } }​

from http://joojimin.tistory.com/93 by ccl(A) rewrite - 2021-11-25 23:01:36