将spring boot batch XML转换为Java Config,尝试将以下代码更改为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>我最初的尝试被tasklet卡住了,不知道如何为它配置tasklet。
@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();
}
}请建议我如何在Java配置中设置与在XML中相同的任务
https://stackoverflow.com/questions/47537336
复制相似问题