Transactional

akka.kafka.scaladsl.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](settings: ProducerSettings[K, V], transactionalId: String): Flow[Envelope[K, V, PartitionOffset], 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 which 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](settings: ProducerSettings[K, V], transactionalId: String): Sink[Envelope[K, V, PartitionOffset], Future[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[(Envelope[K, V, NotUsed], PartitionOffset), Future[Done]]

API MAY CHANGE

API MAY CHANGE

Sink that requires the context to be ConsumerMessage.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](settings: 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