TransactionalKafkaProducer

abstract class TransactionalKafkaProducer[F[_], K, V]

Represents a producer of Kafka records specialized for 'read-process-write' streams, with the ability to atomically produce ProducerRecords and commit corresponding CommittableOffsets using produce.

Records are wrapped in TransactionalProducerRecords, which is a chunk of CommittableProducerRecord which wrap zero or more records together with a CommittableOffset.

Companion:
object
class Object
trait Matchable
class Any
class Metrics[F, K, V]
class WithoutOffsets[F, K, V]

Value members

Abstract methods

def produce(records: TransactionalProducerRecords[F, K, V]): F[ProducerResult[K, V]]

Produces the ProducerRecords in the specified TransactionalProducerRecords in four steps: first a transaction is initialized, then the records are placed in the buffer of the producer, then the offsets of the records are sent to the transaction, and lastly the transaction is committed. If errors or cancellation occurs, the transaction is aborted. The returned effect succeeds if the whole transaction completes successfully.

Produces the ProducerRecords in the specified TransactionalProducerRecords in four steps: first a transaction is initialized, then the records are placed in the buffer of the producer, then the offsets of the records are sent to the transaction, and lastly the transaction is committed. If errors or cancellation occurs, the transaction is aborted. The returned effect succeeds if the whole transaction completes successfully.