Type accepted by Producer.commitableSink
and Producer.flexiFlow
with implementations
Type accepted by Producer.commitableSink
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.
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.
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.
Results implementation emitted when all messages in a MultiMessage have been successfully published.
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.
Results implementation emitted when a PassThroughMessage has passed through the flow.
Results implementation emitted when a Message has been successfully published.
Output type produced by Producer.flexiFlow
and Transactional.flow
.
Classes that are used in both javadsl.Producer and scaladsl.Producer.