ItemReader
is reading data from DB2 and gave java object ClaimDto
. Now the ClaimProcessor
takes in the object of ClaimDto
and return CompositeClaimRecord
object which comprises of claimRecord1
and claimRecord2
which to be sent to two different Kafka topics. How to write claimRecord1
and claimRecord2
to topic1 and topic2 respectively.
Spring Batch : One Reader, composite processor (two classes with different entities) and two kafkaItemWriter
1.1k views Asked by Sonia At
2
There are 2 answers
3
On
You can use a ClassifierCompositeItemWriter with two KafkaItemWriter
s as delegates (one for each topic).
The Classifier
would classify items according to their type (claimRecord1
or claimRecord2
) and route them to the corresponding kafka item writer (topic1
or topic2
).
Just write a custom
ItemWriter
that does exactly that.Or instead of writing 1 record at a time convert the single list into 2 lists and pass that along. But error handling might be a bit of a challenge that way. \