我正在使用 Spring Batch 2.1.5。我有许多彼此之间非常相似的工作,我正在寻找一种方法来让较小的 XML 充当工作模板。
作业之间共享的东西是读取器、处理器、写入器和一个 tasklet。此外,每个这些 bean 的一些参数是相同的。例如,它们都使用相同的数据源。
我想了4种方法,其中3种不起作用...
1 - 使用后处理器将公共 bean 和属性添加为默认值是不可能的,因为 Spring Batch 类 JobParserJobFactoryBean 不是公共类。
2 - 添加 XML 扩展似乎是错误的事情,因为我没有向 XML 文件添加任何自定义标签。
3 - 使用 PropertyOverrideConfigurer 我可以将默认值放入属性中,但我必须为每个 bean 定义这些值。所以我会有很多重复的值,我只会把问题移到属性上。
4 - 使用某种自定义工厂 bean。这些似乎是唯一的选择,但我不知道如何将其插入现有代码。
有没有人尝试过这样做?有人可以就如何做到这一点提供提示或推荐资源吗?