The passThrough field may hold any element that is passed through the Producer.flexiFlow
and included in the Results. That is useful when some context is needed to be passed
on downstream operations. That could be done with unzip/zip, but this is more convenient.
It can for example be a ConsumerMessage.CommittableOffset or ConsumerMessage.CommittableOffsetBatch
that can be committed later in the flow.
Type accepted by
Producer.committableSink
andProducer.flexiFlow
with implementations- Message publishes a single message to its topic, and continues in the stream as Result
- MultiMessage publishes all messages in its
records
field, and continues in the stream as MultiResult- PassThroughMessage does not publish anything, and continues in the stream as PassThroughResult
The
passThrough
field may hold any element that is passed through theProducer.flexiFlow
and included in the Results. That is useful when some context is needed to be passed on downstream operations. That could be done with unzip/zip, but this is more convenient. It can for example be a ConsumerMessage.CommittableOffset or ConsumerMessage.CommittableOffsetBatch that can be committed later in the flow.