我有不同的工作需要从parenet工作中共享拆分(并行运行的多个步骤)。下面是配置
<job id="parentJob" abstract="true">
<split id="split1" task-executor="asyncTaskExecutor">
<flow>
<step id="step0_1">
<tasklet transaction-manager="transactionManager">
<chunk reader="step0_1ItemReader" writer="step0_1ItemWriter"
commit-interval="1000" />
</tasklet>
</step>
</flow>
<flow>
<step id="step0_2">
<tasklet transaction-manager="transactionManager">
<chunk reader="step0_2ItemReader" writer="step0_2ItemWriter"
commit-interval="1000" />
</tasklet>
</step>
</flow>
<flow>
<step id="step0_3">
<tasklet transaction-manager="transactionManager">
<chunk reader="step0_2ItemReader" writer="step0_2ItemWriter"
commit-interval="1000" />
</tasklet>
</step>
</flow>
</split>
</job>
<job id="job1" parent="parentJob">
<step id="step1_1" next="split1">
<tasklet ref="step1_1Tasklet" />
</step>
</job>
<job id="job2" parent="parentJob">
<step id="step2_1" next="split1">
<tasklet ref="step2_1Tasklet" />
</step>
</job>
我犯了这个错误
该元素可能不会出现在with抽象="true"Spring批次上
如何在不同的作业之间共享来自父级的公共拆分,或者如何使用独立的拆分元素(如step element)?
A
处理这种常见流的最佳方法是将流外部化,并从工作中引用它。例如(本例有一个包含步骤的流程,但也可以包含拆分):
<job id="job">
<flow id="job1.flow1" parent="flow1" next="step3"/>
<step id="step3" parent="s3"/>
</job>
<flow id="flow1">
<split id="split1">
<flow>
<step id="step1" parent="s1" next="step2"/>
<step id="step2" parent="s2"/>
</flow>
<flow>
<step id="step3" parent="s3"/>
</flow>
</split>
</flow>
您可以在以下文档中阅读更多关于外部化流的信息:http://docs.spring.io/spring-batch/reference/html-single/index.html#external-流动
我在没有ItemWriter的情况下定义了我的tasklet,如下所示: 我得到了这个错误: 配置问题:
我正在编写Spring批的Spring Boot应用程序,其中ItemReader从Oracle数据库读取数据并将数据写入postgres sql,但我得到了以下错误 我不想创建spring批处理元数据表,我的应用程序不需要监视作业,请就此向我提出建议。提前谢谢!!
根据Spring batch文档,是作为Spring batch 3.0的一部分引入的。但是,看起来JobScope注释在Spring Batch3.0JAR中不可用。我在中指定了依赖项,如下所示: 当我将更改为时,注释会按预期找到。我的理解是是作为spring Batch3.0的一部分引入的,因此应该可以在从3.0.0开始的任何spring batch jar中使用。 为什么注释在3.0.0版中
我有一个带有两个数据库的Spring Batch应用程序:一个SQLDB用于Spring Batch元数据,另一个是存储所有业务数据的MongoDB。关系DB仍然使用。但是我不认为Mongo写入是在带有回滚的活动事务中完成的。以下是上官方Spring Batch留档的摘录: ItemWriter实现,使用Spring数据的MongoOperations实现写入MongoDB存储。由于MongoDB
我正在使用spring批处理使用RepositoryItemReader从postgresql DB读取记录,然后将其写入主题。我看到大约有100万条记录需要处理,但它并没有处理所有的记录。我已经将reader的pageSize设置为10,000并且与提交间隔(块大小)相同
批处理配置具有spring作业,只有一个步骤 1)读取器-从csv文件读取。处理器对文件应用一些规则。Drools请运行schema-postgresql.sql来设置数据库 WRITER使用SPRING DATA JPA写入DB Writer将此称为PersonDaoImpl: