4

我正在使用 Spring Batch 2.1.5。我有许多彼此之间非常相似的工作,我正在寻找一种方法来让较小的 XML 充当工作模板。

作业之间共享的东西是读取器、处理器、写入器和一个 tasklet。此外,每个这些 bean 的一些参数是相同的。例如,它们都使用相同的数据源。

我想了4种方法,其中3种不起作用...

1 - 使用后处理器将公共 bean 和属性添加为默认值是不可能的,因为 Spring Batch 类 JobParserJobFactoryBean 不是公共类。

2 - 添加 XML 扩展似乎是错误的事情,因为我没有向 XML 文件添加任何自定义标签。

3 - 使用 PropertyOverrideConfigurer 我可以将默认值放入属性中,但我必须为每个 bean 定义这些值。所以我会有很多重复的值,我只会把问题移到属性上。

4 - 使用某种自定义工厂 bean。这些似乎是唯一的选择,但我不知道如何将其插入现有代码。

有没有人尝试过这样做?有人可以就如何做到这一点提供提示或推荐资源吗?

4

1 回答 1

0

Spring Batch 提供了定义要继承的抽象作业(和步骤等)的能力。查看参考手册以获取更多信息。使用它,您应该能够准确地完成您正在寻找的东西。

于 2011-08-31T13:38:09.007 回答