Spring batch 如何在多个线程中同时运行spring批处理作业

Spring batch 如何在多个线程中同时运行spring批处理作业,spring-batch,Spring Batch,我有一个具有以下定义的spring批处理作业: <batch:step id="step1"> <batch:tasklet task-executor="simpleTaskExecutor"> <batch:chunk reader="itemReader" processor="itemProcessor" writer="itemWriter" >

我有一个具有以下定义的spring批处理作业:

    <batch:step id="step1">
        <batch:tasklet task-executor="simpleTaskExecutor">
            <batch:chunk reader="itemReader" processor="itemProcessor"
                writer="itemWriter" >
            </batch:chunk>
        </batch:tasklet>
    </batch:step>
    <bean id="itemReader" class="CustomReader">
</bean>

自定义读取器,从数据库中读取一行并将其传递给处理器进行进一步处理

我的问题是,我希望同时有多个线程来同时运行此作业(每个线程读取一行和一个进程)。根据文档,我使用了taskExecutor,但它不起作用

注意:我的场景不适合partitioner

你说的“不”是什么意思

如果您想在每个线程中读取和处理一个条目,那么“提交间隔”必须正好为一。()

但请注意:由于多个线程将并行调用读写器(它们是单实例),因此必须确保两者都是线程安全的。要做到这一点,最简单的方法是同步读取,resp。读者和作者的写作方法