Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring批处理:一个读卡器、两个处理器和两个Kafkawriter_Spring_Spring Batch_Spring Kafka_Spring Batch Admin - Fatal编程技术网

Spring批处理:一个读卡器、两个处理器和两个Kafkawriter

Spring批处理:一个读卡器、两个处理器和两个Kafkawriter,spring,spring-batch,spring-kafka,spring-batch-admin,Spring,Spring Batch,Spring Kafka,Spring Batch Admin,我的设想是 +---> ItemProcessor#1 ---> KafkaItemWriter#1 | ItemReader ---> item ---+ | +---> ItemProcessor#2 ---> KafkaItemWriter#2 ItemReader正在

我的设想是

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

ItemReader正在从db读取数据,并将java对象命名为“产品”。现在,产品对象被发送到ItemProcessor1以获取聚合价格。同样的“Product”对象也被发送到ItemProcessor2以获取聚合的ProductDetais。两个返回的已处理对象都需要发送到KafkaWriter,以推送到两个不同的主题。我正在考虑在一个作业执行中执行,因为否则相同的数据将由读取器从数据库中读取两次。请提供提示和最好的方法,我可以继续在这里。我相信我的场景不是CompositeItemProcessor,因为不需要将一个处理器传递给processor2。两个处理器都是独立的,返回完全不同的对象,但两个处理器接受相同的输入进行处理。

这是否回答了您的问题?某种程度上。以上问题为我提供了使用PropertyExtractingDelegatingItemWriter的选项,它将返回两个聚合对象。现在我必须写信给kafkaItemWrites,我指的是中提到的您的选项。我在创建bean的bean初始化错误中遇到异常,原因是:java.lang.IllegalArgumentException:itemKeyMapper需要转换器类型。