#4. Step
·
spring/batch
1. flowJob 에서 step 을 실행하면 StepBuild.class 에서 TaskletStep 을 만드는 메소드를 탄다public TaskletStepBuilder tasklet(Tasklet tasklet, PlatformTransactionManager transactionManager) { return new TaskletStepBuilder(this).tasklet(tasklet, transactionManager); }그리고 TaskletStepBuilder 클래스의 메소드를 타고 public TaskletStepBuilder tasklet(Tasklet tasklet, PlatformTransactionManager transactionManager) { this.tasklet = ..
#3. JobParameter
·
spring/batch
1. 개념job 실행시 사용되는 파라미터job 과 jobInstance 는 1:M 매핑이기 때문에 이를 구분하기 위한 용도jobParameter 와 jobInstance 는 1:1 매핑이다.
#2. JobInstance
·
spring/batch
1. Job 과 JobInstancejob 이란 설계도를 가지고 jobinstance 를 만든다예를 들어 특정 작업을 구성했는데 job 과 jobParameter 가 같으면 같은 jobInstance 를 리턴하여 이미 인스턴스가 있다는 오류를 낸다jobParameter 가 다르다면 예를 들어 매일 실행되는 job 이면 파라미터의 그 날의 일자를 넣으면 매일 달라진다 그러면 개별 인스턴스가 생성된다.그래서 job 과 jobInstance 는 1:M 관계이다
#1. Job
·
spring/batch
1. Job 의 시작 @Bean public Job job() { return new JobBuilder("step1", jobRepository) .start(step1()) .next(step2()) .build(); }start 가 실행되면 SimpleJobBuilder.class 에서 start 함수가 실행되고 steps list 에 step 을 넣는다. public SimpleJobBuilder start(Step step) { if (this.steps.isEmpty()) { this.steps.add(step); } else { this.steps.set(0, step); } return this; }ne..