Yas*_*CHI 3 java spring spring-batch
我在没有ItemWriter的情况下定义了我的tasklet,如下所示:
<b:tasklet>
<b:chunk reader="baseReader" processor="baseProcessor" commit-interval="100" />
</b:tasklet>
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
配置问题:<b:chunk/>元素既没有'writer'属性也没有<writer/>元素.
你有什么主意吗 ?谢谢
嗯,在一大块,一个读者和一个作家是强制性的!但是,ItemProcessor是可选的.
这来自官方文件:
5.1.1.配置步骤
尽管Step的必需依赖项列表相对较短,但它是一个非常复杂的类,可能包含许多协作者.为了简化配置,可以使用Spring Batch命名空间:
<job id="sampleJob" job-repository="jobRepository">
<step id="step1">
<tasklet transaction-manager="transactionManager">
<chunk reader="itemReader" writer="itemWriter" commit-interval="10"/>
</tasklet>
</step>
Run Code Online (Sandbox Code Playgroud)
上面的配置表示创建面向项目的步骤所需的唯一依赖项:
reader - 提供处理项目的ItemReader.
writer - 处理ItemReader提供的项的ItemWriter.
transaction-manager - Spring的PlatformTransactionManager,用于在处理过程中开始和提交事务.
job-repository - 将在处理期间(就在提交之前)定期存储StepExecution和ExecutionContext的JobRepository.对于内联(在a中定义的内容),它是元素的属性; 对于独立步骤,它被定义为的属性.
commit-interval - 提交事务之前将处理的项目数.
应该注意的是,job-repository默认为"jobRepository",而transaction-manager默认为"transactionManger".此外,ItemProcessor是可选的,不是必需的,因为该项可以直接从阅读器传递给编写器.