首页 > 解决方案 > Spring Batch:一个阅读器,两个处理器和两个 kafkawriters

问题描述

我的情况是

                        +---> ItemProcessor#1 ---> KafkaItemWriter#1
                        |
ItemReader ---> item ---+
                        |
                        +---> ItemProcessor#2 ---> KafkaItemWriter#2

ItemReader 正在从 db 读取数据并提供 java 对象“产品”。现在 Product 对象被发送到 ItemProcessor1 以取回 AggregatedPrice。同样的“产品”对象也发送到 ItemProcessor2 以取回 AggregatedProductDetais。两个返回的处理对象都需要发送到 KafkaWriter 以推送到两个不同的主题。我正在考虑执行一项作业,否则读取器将从数据库中读取两次相同的数据。请提供提示和最佳方法我如何在此处继续。我相信我的场景不是 CompositeItemProcessor,因为不需要将一个处理器传递给处理器 2。两者都是独立的处理器并返回完全不同的对象,但两个处理器都采用相同的输入进行处理。

标签: springspring-batchspring-kafkaspring-batch-admin

解决方案


推荐阅读