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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val passThrough: PassThrough
- Definition Classes
- MultiMessage → Envelope
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val records: Seq[ProducerRecord[K, V]]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def withPassThrough[PassThrough2](value: PassThrough2): Envelope[K, V, PassThrough2]
- Definition Classes
- MultiMessage → Envelope