2017-10-11 113 views
0

我见过this (2010)this (SO, 2012),但还是没有得到我需要的答案...Spring Batch的:动态复合读写器/处理器/作家

是否有Spring Batch的一个选项,有一个动态的复合读写器/处理器/写入器?

这个想法是有能力在运行时替换处理器,并且在多处理器(AKA复合处理器)的情况下,可以选择添加/删除/替换/改变处理器的顺序。如前所述,读者/作者也是如此。

我想到了像从数据库中读取处理器列表(使用缓存?),并且可以更改项目(bean的名称)。这有意义吗?

编辑 - 为什么我需要这个?

有些情况下,我使用处理器作为“过滤器”,它可能会发生业务(客户端)可能会改变需求(是的,这是非常讨厌),并要求切换过滤器(改变优先级)。
其他用例有多个读取器从不同的数据仓库获取数据,并且客户不时更改仓库(集成阶段),并且我不希望每次都重新启动我的应用程序。
当然还有很多其他用例。 plus this.

感谢

+0

这样做的目的是什么?通常批处理作业是静态的。也许Spring Batch不是正确的工具。如果你告诉我更多的需求,我可以提供建议。 –

+0

有些情况下,我使用处理器作为“过滤器”,并且可能会发生业务(客户端)可能会更改需求(是的,这非常烦人)并要求在过滤器之间切换(更改优先级)。其他用例是有多个读取器从不同的数据仓库获取数据,并且客户不时更改仓库(集成阶段)。所以我不希望我的应用每次都重新启动。 – OhadR

+0

但是你不需要交换处理器。但是你的处理器可以选择执行什么样的代码。并且在阅读器中,您可以更改数据源 –

回答

相关问题