Spring 批量拆分处理器
Spring Batch Split Processor
我需要根据记录属性应用不同的处理器链,生成不同的记录类型。
/--> processor A --> writer A
reader --> split processor --|
\--> processor B --> writer B
因此处理因阅读项目而异:
A record (read) -> (split processor) -> (processor A) -> (writer A)
B record (read) -> (split processor) -> (processor B) -> (writer B)
这可以使用多个 ItemProcessListener
并在 afterProcess()
中编写过滤逻辑来实现。
寻找更好的方法。
ClassifierCompositeItemProcessor 就是您要查找的内容(您所说的 split processor
)。此项目处理器使用 Classifier
对项目进行分类并将它们相应地传递给委托处理器。
要实现您描述的模式,您需要将此处理器与类似的项目编写器结合使用:ClassifierCompositeItemWriter。
我需要根据记录属性应用不同的处理器链,生成不同的记录类型。
/--> processor A --> writer A
reader --> split processor --|
\--> processor B --> writer B
因此处理因阅读项目而异:
A record (read) -> (split processor) -> (processor A) -> (writer A)
B record (read) -> (split processor) -> (processor B) -> (writer B)
这可以使用多个 ItemProcessListener
并在 afterProcess()
中编写过滤逻辑来实现。
寻找更好的方法。
ClassifierCompositeItemProcessor 就是您要查找的内容(您所说的 split processor
)。此项目处理器使用 Classifier
对项目进行分类并将它们相应地传递给委托处理器。
要实现您描述的模式,您需要将此处理器与类似的项目编写器结合使用:ClassifierCompositeItemWriter。