Class KafkaRecordEmitter

java.lang.Object
io.debezium.connector.cassandra.KafkaRecordEmitter
All Implemented Interfaces:
Emitter, AutoCloseable

public class KafkaRecordEmitter extends Object implements Emitter
This emitter is responsible for emitting records to Kafka broker and managing offsets post send.
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • RECORD_LOG_COUNT

      private static final int RECORD_LOG_COUNT
      See Also:
    • producer

      private final org.apache.kafka.clients.producer.KafkaProducer<byte[],byte[]> producer
    • topicNamingStrategy

      private final io.debezium.spi.topic.TopicNamingStrategy<KeyspaceTable> topicNamingStrategy
    • offsetWriter

      private final OffsetWriter offsetWriter
    • erroneousCommitLogs

      private final Set<String> erroneousCommitLogs
    • commitLogTransfer

      private final CommitLogTransfer commitLogTransfer
    • keyConverter

      private final org.apache.kafka.connect.storage.Converter keyConverter
    • valueConverter

      private final org.apache.kafka.connect.storage.Converter valueConverter
    • emitCount

      private final AtomicLong emitCount
  • Constructor Details

    • KafkaRecordEmitter

      public KafkaRecordEmitter(CassandraConnectorConfig connectorConfig, org.apache.kafka.clients.producer.KafkaProducer<byte[],byte[]> kafkaProducer, OffsetWriter offsetWriter, org.apache.kafka.connect.storage.Converter keyConverter, org.apache.kafka.connect.storage.Converter valueConverter, Set<String> erroneousCommitLogs, CommitLogTransfer commitLogTransfer)
  • Method Details

    • emit

      public void emit(Record record)
      Specified by:
      emit in interface Emitter
    • toProducerRecord

      protected org.apache.kafka.clients.producer.ProducerRecord<byte[],byte[]> toProducerRecord(Record record)
    • callback

      private void callback(Record record, Exception exception)
    • hasOffset

      private boolean hasOffset(Record record)
    • markOffset

      private void markOffset(Record record)
    • close

      public void close() throws Exception
      Specified by:
      close in interface AutoCloseable
      Throws:
      Exception