public class KafkaRecordEmitter extends Object implements AutoCloseable
| Modifier and Type | Field and Description |
|---|---|
private long |
emitCount |
private Map<Record,Future<org.apache.kafka.clients.producer.RecordMetadata>> |
futures |
private org.apache.kafka.connect.storage.Converter |
keyConverter |
private Object |
lock |
private static org.slf4j.Logger |
LOGGER |
private OffsetFlushPolicy |
offsetFlushPolicy |
private OffsetWriter |
offsetWriter |
private org.apache.kafka.clients.producer.KafkaProducer<byte[],byte[]> |
producer |
private long |
timeOfLastFlush |
private io.debezium.schema.TopicSelector<KeyspaceTable> |
topicSelector |
private org.apache.kafka.connect.storage.Converter |
valueConverter |
| Constructor and Description |
|---|
KafkaRecordEmitter(String kafkaTopicPrefix,
String heartbeatPrefix,
Properties kafkaProperties,
OffsetWriter offsetWriter,
Duration offsetFlushIntervalMs,
long maxOffsetFlushSize,
org.apache.kafka.connect.storage.Converter keyConverter,
org.apache.kafka.connect.storage.Converter valueConverter) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
void |
emit(Record record) |
private boolean |
flush(Map.Entry<Record,Future<org.apache.kafka.clients.producer.RecordMetadata>> recordEntry) |
private void |
flushAndMarkOffset() |
private boolean |
hasOffset(Map.Entry<Record,Future<org.apache.kafka.clients.producer.RecordMetadata>> recordEntry) |
private void |
markOffset(Map.Entry<Record,Future<org.apache.kafka.clients.producer.RecordMetadata>> recordEntry) |
private void |
maybeFlushAndMarkOffset() |
private org.apache.kafka.clients.producer.ProducerRecord<byte[],byte[]> |
toProducerRecord(Record record) |
private static final org.slf4j.Logger LOGGER
private final org.apache.kafka.clients.producer.KafkaProducer<byte[],byte[]> producer
private final io.debezium.schema.TopicSelector<KeyspaceTable> topicSelector
private final OffsetWriter offsetWriter
private final OffsetFlushPolicy offsetFlushPolicy
private final Object lock
private long timeOfLastFlush
private long emitCount
private org.apache.kafka.connect.storage.Converter keyConverter
private org.apache.kafka.connect.storage.Converter valueConverter
public KafkaRecordEmitter(String kafkaTopicPrefix, String heartbeatPrefix, Properties kafkaProperties, OffsetWriter offsetWriter, Duration offsetFlushIntervalMs, long maxOffsetFlushSize, org.apache.kafka.connect.storage.Converter keyConverter, org.apache.kafka.connect.storage.Converter valueConverter)
public void emit(Record record)
private org.apache.kafka.clients.producer.ProducerRecord<byte[],byte[]> toProducerRecord(Record record)
private void maybeFlushAndMarkOffset()
private void flushAndMarkOffset()
private boolean flush(Map.Entry<Record,Future<org.apache.kafka.clients.producer.RecordMetadata>> recordEntry)
private boolean hasOffset(Map.Entry<Record,Future<org.apache.kafka.clients.producer.RecordMetadata>> recordEntry)
private void markOffset(Map.Entry<Record,Future<org.apache.kafka.clients.producer.RecordMetadata>> recordEntry)
public void close()
close in interface AutoCloseableCopyright © 2020 JBoss by Red Hat. All rights reserved.