0
스프링 부트 배치 XML을 Java Config로 변환하기. 아래 코드를 Java Config로 변경하십시오.Spring Batch XML에서 Java Config로 변환하기위한 태스크 릿
<batch:job id="batchJob1">
<batch:step id="step">
<batch:tasklet task-executor="taskExecutor" throttle-limit="${throttle.limit}">
<batch:chunk reader="synchronizedProvisionReader"
processor="compositeItemProcessor" writer="subWriter"
commit-interval="${commit.interval}"
skip-limit="${skip.limit}"
retry-limit="${retry.limit}">
<batch:retryable-exception-classes>
<batch:include class="org.springframework.dao.TransientDataAccessException"/>
</batch:retryable-exception-classes>
<batch:retry-listeners>
<batch:listener ref="batchRetryListener"/>
</batch:retry-listeners>
<batch:streams>
<batch:stream ref="fileItemReader" />
</batch:streams>
<batch:listeners>
<batch:listener ref="dateListener" />
</batch:listeners>
</batch:chunk>
</batch:tasklet>
<batch:listeners>
<batch:listener ref="debugStepListener" />
<batch:listener ref="skipCheckingListener"/>
</batch:listeners>
</batch:step>
<batch:listeners>
<batch:listener ref="batchProvisionJobListener" />
</batch:listeners>
</batch:job>
내 최초의 시도는하지이를 위해 태스크 릿을 구성하는 방법에 대한 아이디어를 얻고, 태스크 릿 막혔다.
@Configuration
@EnableBatchProcessing
public class BatchJob {
@Autowired
private JobBuilderFactory jobs;
@Autowired
private StepBuilderFactory stepBuilderFactory;
@Autowired
@Qualifier("taskExecutor")
private ThreadPoolTaskExecutor taskExecutor;
@Value("${throttle.limit}")
private int throttleLimit;
@Bean
public Job batchProvision(){
return jobs.get("batchJob1").start(provisionStep()).build();
}
@Bean
public Step step(){
return stepBuilderFactory.get("provisionStep").tasklet();
}
}
난 당신이 정확하게 문제를 직면하고있는 곳 이해할 수없는 나는 내가 XML
"$ {commit.interval을}"희망이 도움 –
나는 아무것도하지만, 커밋 간격입니다 자바 구성 청크 크기에 생각합니다. – Niraj