Class KafkaChangeConsumer

java.lang.Object
io.debezium.server.BaseChangeConsumer
io.debezium.server.kafka.KafkaChangeConsumer
All Implemented Interfaces:
io.debezium.engine.DebeziumEngine.ChangeConsumer<io.debezium.engine.ChangeEvent<Object,Object>>

@Named("kafka") @Dependent public class KafkaChangeConsumer extends BaseChangeConsumer implements io.debezium.engine.DebeziumEngine.ChangeConsumer<io.debezium.engine.ChangeEvent<Object,Object>>
An implementation of the DebeziumEngine.ChangeConsumer interface that publishes change event messages to Kafka.
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • PROP_PREFIX

      private static final String PROP_PREFIX
      See Also:
    • PROP_PREFIX_PRODUCER

      private static final String PROP_PREFIX_PRODUCER
      See Also:
    • producer

      private org.apache.kafka.clients.producer.KafkaProducer<Object,Object> producer
    • customKafkaProducer

      @Inject @CustomConsumerBuilder javax.enterprise.inject.Instance<org.apache.kafka.clients.producer.KafkaProducer<Object,Object>> customKafkaProducer
  • Constructor Details

    • KafkaChangeConsumer

      public KafkaChangeConsumer()
  • Method Details

    • start

      @PostConstruct void start()
    • stop

      @PreDestroy void stop()
    • handleBatch

      public void handleBatch(List<io.debezium.engine.ChangeEvent<Object,Object>> records, io.debezium.engine.DebeziumEngine.RecordCommitter<io.debezium.engine.ChangeEvent<Object,Object>> committer) throws InterruptedException
      Specified by:
      handleBatch in interface io.debezium.engine.DebeziumEngine.ChangeConsumer<io.debezium.engine.ChangeEvent<Object,Object>>
      Throws:
      InterruptedException
    • convertKafkaHeaders

      private org.apache.kafka.common.header.Headers convertKafkaHeaders(io.debezium.engine.ChangeEvent<Object,Object> record)