0
スプリングブートバッチXMLをJava Configに変換するには、以下のコードをJava Configに変更してください。Springバッチ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