spring batch:没有 ItemWriter 的 Tasklet

2024-01-07

我在没有 ItemWriter 的情况下定义了我的 tasklet,如下所示:

<b:tasklet>
    <b:chunk reader="baseReader" processor="baseProcessor"  commit-interval="100" />
</b:tasklet>

我收到这个错误:

配置问题:<b:chunk/>元素既没有 'writer' 属性,也没有<writer/>元素。

你有什么主意吗 ? 谢谢


好吧,总的来说,读者和作者是强制性的!然而,ItemProcessor 是可选的。

这是来自官方文档:

5.1.1.配置步骤

尽管步骤所需的依赖项列表相对较短,但它是一个极其复杂的类,可能包含许多协作者。为了简化配置,可以使用 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>

上面的配置代表创建面向项目的步骤所需的唯一依赖项:

reader - 提供要处理的项目的 ItemReader。

writer - 处理 ItemReader 提供的项目的 ItemWriter。

transaction-manager - Spring 的 PlatformTransactionManager 将用于开始和 在处理期间提交事务。

job-repository - JobRepository 将用于在处理期间(就在提交之前)定期存储 StepExecution 和 ExecutionContext。对于内联(在 a 中定义的),它是元素上的一个属性;对于独立步骤,它被定义为 .

commit-interval - 提交事务之前将处理的项目数。

需要注意的是,job-repository默认为“jobRepository”,transaction-manager默认为“transactionManger”。此外,ItemProcessor 是可选的,不是必需的,因为项目可以直接从读取器传递到写入器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spring batch:没有 ItemWriter 的 Tasklet 的相关文章

随机推荐