首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Spring Batch XML转换为Java Config的Tasklet

将Spring Batch XML转换为Java Config的Tasklet
EN

Stack Overflow用户
提问于 2017-11-29 01:15:26
回答 0查看 1.1K关注 0票数 1

将spring boot batch XML转换为Java Config,尝试将以下代码更改为Java Config。

代码语言:javascript
复制
<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。

代码语言:javascript
复制
@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中相同的任务

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47537336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档