Package io.debezium.connector.cassandra
Class KafkaRecordEmitter
java.lang.Object
io.debezium.connector.cassandra.KafkaRecordEmitter
- All Implemented Interfaces:
Emitter,AutoCloseable
This emitter is responsible for emitting records to Kafka broker and managing offsets post send.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CommitLogTransferprivate longprivate final org.apache.kafka.connect.storage.Converterprivate final Objectprivate static final org.slf4j.Loggerprivate final OffsetFlushPolicyprivate final OffsetWriterprivate final org.apache.kafka.clients.producer.KafkaProducer<byte[],byte[]> private longprivate final io.debezium.schema.TopicSelector<KeyspaceTable>private final org.apache.kafka.connect.storage.Converter -
Constructor Summary
ConstructorsConstructorDescriptionKafkaRecordEmitter(String kafkaTopicPrefix, String heartbeatPrefix, org.apache.kafka.clients.producer.KafkaProducer kafkaProducer, OffsetWriter offsetWriter, Duration offsetFlushIntervalMs, long maxOffsetFlushSize, org.apache.kafka.connect.storage.Converter keyConverter, org.apache.kafka.connect.storage.Converter valueConverter, Set<String> erroneousCommitLogs, CommitLogTransfer commitLogTransfer) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voidprivate booleanprivate voidprivate booleanprivate voidmarkOffset(Map.Entry<Record, Future<org.apache.kafka.clients.producer.RecordMetadata>> recordEntry) private voidprotected org.apache.kafka.clients.producer.ProducerRecord<byte[],byte[]> toProducerRecord(Record record)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
producer
private final org.apache.kafka.clients.producer.KafkaProducer<byte[],byte[]> producer -
topicSelector
-
offsetWriter
-
offsetFlushPolicy
-
erroneousCommitLogs
-
commitLogTransfer
-
futures
-
lock
-
keyConverter
private final org.apache.kafka.connect.storage.Converter keyConverter -
valueConverter
private final org.apache.kafka.connect.storage.Converter valueConverter -
timeOfLastFlush
private long timeOfLastFlush -
emitCount
private long emitCount
-
-
Constructor Details
-
KafkaRecordEmitter
public KafkaRecordEmitter(String kafkaTopicPrefix, String heartbeatPrefix, org.apache.kafka.clients.producer.KafkaProducer kafkaProducer, OffsetWriter offsetWriter, Duration offsetFlushIntervalMs, long maxOffsetFlushSize, org.apache.kafka.connect.storage.Converter keyConverter, org.apache.kafka.connect.storage.Converter valueConverter, Set<String> erroneousCommitLogs, CommitLogTransfer commitLogTransfer)
-
-
Method Details
-
emit
-
toProducerRecord
protected org.apache.kafka.clients.producer.ProducerRecord<byte[],byte[]> toProducerRecord(Record record) -
maybeFlushAndMarkOffset
private void maybeFlushAndMarkOffset() -
flushAndMarkOffset
private void flushAndMarkOffset() -
flush
-
hasOffset
-
markOffset
-
close
- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-