首页 > 解决方案 > 基于 Spring Batch 注释的作业作为一个步骤添加到基于 XML 的作业中

问题描述

我们有一个基于 XML 的 Spring 批处理项目我们需要创建一个新作业,我们需要将该作业作为嵌套作业添加到以前基于 XML 的作业中是否可以基于创建新的作业注释并向现有 XML 添加一个步骤基础工作?

我创建了一个 Tasklet Step 并尝试将基于 XML 的 Job 作为 Step 添加并得到。

无法将类型“org.springframework.batch.core.step.tasklet.TaskletStep”的值转换为属性“tasklet”所需的类型“org.springframework.batch.core.step.tasklet.Tasklet”:没有匹配的编辑器或转换策略成立

标签: spring-batchspring-batch-tasklet

解决方案


tasklet 不是将步骤处理委托给作业的合适类型,您应该改用JobStep

主要作业可以在 XML 中定义并引用“委托”作业(可以是在 XML 或 Java 配置中定义的 bean)。这是一个例子:

<batch:job id="mainJob">
    <batch:step id="step">
        <batch:job ref="subjob">
        </batch:job>
    </batch:step>
</batch:job>

在此示例中,subjob可以是在 XML 或 Java 配置中定义的 Spring Batch 作业。


推荐阅读