Transactional

akka.kafka.javadsl.Transactional$

Akka Stream connector to support transactions between Kafka topics.

Attributes

Source:
Transactional.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Value members

Concrete methods

def flow[K, V, IN <: Envelope[K, V, PartitionOffset]](settings: ProducerSettings[K, V], transactionalId: String): Flow[IN, Results[K, V, PartitionOffset], NotUsed]

Publish records to Kafka topics and then continue the flow. The flow can only be used with a Transactional.source that emits a ConsumerMessage.TransactionalMessage. The flow requires a unique transactional.id across all app instances. The flow will override producer properties to enable Kafka exactly-once transactional support.

Publish records to Kafka topics and then continue the flow. The flow can only be used with a Transactional.source that emits a ConsumerMessage.TransactionalMessage. The flow requires a unique transactional.id across all app instances. The flow will override producer properties to enable Kafka exactly-once transactional support.

Attributes

Source:
Transactional.scala

API MAY CHANGE

API MAY CHANGE

Publish records to Kafka topics and then continue the flow. The flow can only be used with a Transactional.sourceWithOffsetContext that carries ConsumerMessage.PartitionOffset as context. The flow requires a unique transactional.id across all app instances. The flow will override producer properties to enable Kafka exactly-once transactional support.

This flow is intended to be used with Akka's flow with context and Transactional.sourceWithOffsetContext.

Attributes

Source:
Transactional.scala
def sink[K, V, IN <: Envelope[K, V, PartitionOffset]](settings: ProducerSettings[K, V], transactionalId: String): Sink[IN, CompletionStage[Done]]

Sink that is aware of the ConsumerMessage.TransactionalMessage.partitionOffset from a Transactional.source. It will initialize, begin, produce, and commit the consumer offset as part of a transaction.

Sink that is aware of the ConsumerMessage.TransactionalMessage.partitionOffset from a Transactional.source. It will initialize, begin, produce, and commit the consumer offset as part of a transaction.

Attributes

Source:
Transactional.scala
def sinkWithOffsetContext[K, V](settings: ProducerSettings[K, V], transactionalId: String): Sink[Pair[Envelope[K, V, NotUsed], PartitionOffset], CompletionStage[Done]]

API MAY CHANGE

API MAY CHANGE

Sink that uses the context as ConsumerMessage.TransactionalMessage.partitionOffset from a Transactional.sourceWithOffsetContext. It will initialize, begin, produce, and commit the consumer offset as part of a transaction.

Attributes

Source:
Transactional.scala
def source[K, V](consumerSettings: ConsumerSettings[K, V], subscription: Subscription): Source[TransactionalMessage[K, V], Control]

Transactional source to setup a stream for Exactly Only Once (EoS) kafka message semantics. To enable EoS it's necessary to use the Transactional.sink or Transactional.flow (for passthrough).

Transactional source to setup a stream for Exactly Only Once (EoS) kafka message semantics. To enable EoS it's necessary to use the Transactional.sink or Transactional.flow (for passthrough).

Attributes

Source:
Transactional.scala

API MAY CHANGE

API MAY CHANGE

This source is intended to be used with Akka's flow with context and Transactional.flowWithOffsetContext.

Attributes

Source:
Transactional.scala