final case class MultiMessage[K, V, +PassThrough](records: Seq[ProducerRecord[K, V]], passThrough: PassThrough) extends Envelope[K, V, PassThrough] with Product with Serializable
Envelope implementation that produces multiple message to a Kafka topics, flows emit a MultiResult for every element processed.
Every element in records
contains a topic name to which the record is being sent, an optional
partition number, and an optional key and value.
The passThrough
field may hold any element that is passed through the Producer.flow
and included in the MultiResult. 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.
- Source
- ProducerMessage.scala
- Alphabetic
- By Inheritance
- MultiMessage
- Serializable
- Product
- Equals
- Envelope
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new MultiMessage(records: Collection[ProducerRecord[K, V]], passThrough: PassThrough)
Java API: Constructor
- new MultiMessage(records: Seq[ProducerRecord[K, V]], passThrough: PassThrough)
Value Members
- val passThrough: PassThrough
- Definition Classes
- MultiMessage → Envelope
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val records: Seq[ProducerRecord[K, V]]
- def withPassThrough[PassThrough2](value: PassThrough2): Envelope[K, V, PassThrough2]
- Definition Classes
- MultiMessage → Envelope