o

org.apache.pekko.kafka

ProducerMessage

object ProducerMessage

Classes that are used in both javadsl.Producer and scaladsl.Producer.

Source
ProducerMessage.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ProducerMessage
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed trait Envelope[K, V, +PassThrough] extends AnyRef

    Type accepted by Producer.committableSink and Producer.flexiFlow with implementations

    Type accepted by Producer.committableSink and Producer.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 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.

  2. final case class Message[K, V, +PassThrough](record: ProducerRecord[K, V], passThrough: PassThrough) extends Envelope[K, V, PassThrough] with Product with Serializable

    Envelope implementation that produces a single message to a Kafka topic, flows emit a Result for every element processed.

    Envelope implementation that produces a single message to a Kafka topic, flows emit a Result for every element processed.

    The record 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 Result. 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.

  3. 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.

    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.

  4. final case class MultiResult[K, V, PassThrough] extends Results[K, V, PassThrough] with Product with Serializable

    Results implementation emitted when all messages in a MultiMessage have been successfully published.

  5. final case class MultiResultPart[K, V] extends Product with Serializable
  6. final case class PassThroughMessage[K, V, +PassThrough](passThrough: PassThrough) extends Envelope[K, V, PassThrough] with Product with Serializable

    Envelope implementation that does not produce anything to Kafka, flows emit a PassThroughResult for every element processed.

    Envelope implementation that does not produce anything to Kafka, flows emit a PassThroughResult for every element processed.

    The passThrough field may hold any element that is passed through the Producer.flow 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.

  7. final case class PassThroughResult[K, V, PassThrough] extends Results[K, V, PassThrough] with Product with Serializable

    Results implementation emitted when a PassThroughMessage has passed through the flow.

  8. final case class Result[K, V, PassThrough] extends Results[K, V, PassThrough] with Product with Serializable

    Results implementation emitted when a Message has been successfully published.

    Results implementation emitted when a Message has been successfully published.

    Includes the original message, metadata returned from KafkaProducer and the offset of the produced message.

  9. sealed trait Results[K, V, PassThrough] extends AnyRef

    Output type produced by Producer.flexiFlow and Transactional.flow.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. def multi[K, V](records: Collection[ProducerRecord[K, V]]): Envelope[K, V, NotUsed]

    Java API: Create a multi-message containing several records.

    Java API: Create a multi-message containing several records.

    K

    the type of keys

    V

    the type of values

  13. def multi[K, V, PassThrough](records: Collection[ProducerRecord[K, V]], passThrough: PassThrough): Envelope[K, V, PassThrough]

    Java API: Create a multi-message containing several records and one passThrough.

    Java API: Create a multi-message containing several records and one passThrough.

    K

    the type of keys

    V

    the type of values

    PassThrough

    the type of data passed through

  14. def multi[K, V](records: Seq[ProducerRecord[K, V]]): Envelope[K, V, NotUsed]

    Create a multi-message containing several records.

    Create a multi-message containing several records.

    K

    the type of keys

    V

    the type of values

  15. def multi[K, V, PassThrough](records: Seq[ProducerRecord[K, V]], passThrough: PassThrough): Envelope[K, V, PassThrough]

    Create a multi-message containing several records and one passThrough.

    Create a multi-message containing several records and one passThrough.

    K

    the type of keys

    V

    the type of values

    PassThrough

    the type of data passed through

  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. def passThrough[K, V](): Envelope[K, V, NotUsed]

    Create a pass-through message not containing any records for use with withContext flows and sinks.

    Create a pass-through message not containing any records for use with withContext flows and sinks. In some cases the type parameters need to be specified explicitly.

    K

    the type of keys

    V

    the type of values

  20. def passThrough[K, V, PassThrough](passThrough: PassThrough): Envelope[K, V, PassThrough]

    Create a pass-through message not containing any records.

    Create a pass-through message not containing any records. In some cases the type parameters need to be specified explicitly.

    K

    the type of keys

    V

    the type of values

    PassThrough

    the type of data passed through

  21. def single[K, V](record: ProducerRecord[K, V]): Envelope[K, V, NotUsed]

    Create a message containing the record.

    Create a message containing the record.

    K

    the type of keys

    V

    the type of values

  22. def single[K, V, PassThrough](record: ProducerRecord[K, V], passThrough: PassThrough): Envelope[K, V, PassThrough]

    Create a message containing the record and a passThrough.

    Create a message containing the record and a passThrough.

    K

    the type of keys

    V

    the type of values

    PassThrough

    the type of data passed through

  23. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped