Class JdbcSinkConnectorTask

java.lang.Object
org.apache.kafka.connect.sink.SinkTask
io.debezium.connector.jdbc.JdbcSinkConnectorTask
All Implemented Interfaces:
org.apache.kafka.connect.connector.Task

public class JdbcSinkConnectorTask extends org.apache.kafka.connect.sink.SinkTask
The main task executing streaming from sink connector. Responsible for lifecycle management of the streaming code.
Author:
Hossein Torabi
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • state

    • stateLock

      private final ReentrantLock stateLock
    • changeEventSink

      private ChangeEventSink changeEventSink
    • offsets

      private Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata> offsets
    • previousPutException

      private Throwable previousPutException
  • Constructor Details

    • JdbcSinkConnectorTask

      public JdbcSinkConnectorTask()
  • Method Details

    • version

      public String version()
    • start

      public void start(Map<String,String> props)
      Specified by:
      start in interface org.apache.kafka.connect.connector.Task
      Specified by:
      start in class org.apache.kafka.connect.sink.SinkTask
    • put

      public void put(Collection<org.apache.kafka.connect.sink.SinkRecord> records)
      Specified by:
      put in class org.apache.kafka.connect.sink.SinkTask
    • preCommit

      public Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata> preCommit(Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata> currentOffsets)
      Overrides:
      preCommit in class org.apache.kafka.connect.sink.SinkTask
    • stop

      public void stop()
      Specified by:
      stop in interface org.apache.kafka.connect.connector.Task
      Specified by:
      stop in class org.apache.kafka.connect.sink.SinkTask
    • markProcessed

      private void markProcessed(org.apache.kafka.connect.sink.SinkRecord record)
      Marks a sink record as processed.
      Parameters:
      record - sink record, should not be null
    • markNotProcessed

      private void markNotProcessed(Iterator<org.apache.kafka.connect.sink.SinkRecord> records)
      Marks all remaining elements in the collection as not processed.
      Parameters:
      records - collection of sink records, should not be null
    • markNotProcessed

      private void markNotProcessed(org.apache.kafka.connect.sink.SinkRecord record)
      Marks a single record as not processed.
      Parameters:
      record - sink record, should not be null
    • getOriginalTopicName

      private String getOriginalTopicName(org.apache.kafka.connect.sink.SinkRecord record)