Package io.debezium.connector.jdbc
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
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ChangeEventSinkstatic final Stringprivate static final org.slf4j.Loggerprivate Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata> private Throwablestatic final Stringprivate final AtomicReference<JdbcSinkConnectorTask.State>private final ReentrantLockFields inherited from class org.apache.kafka.connect.sink.SinkTask
context, TOPICS_CONFIG, TOPICS_REGEX_CONFIG -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate StringgetOriginalTopicName(org.apache.kafka.connect.sink.SinkRecord record) private static booleanisSchemaChange(org.apache.kafka.connect.sink.SinkRecord record) private voidmarkNotProcessed(Iterator<org.apache.kafka.connect.sink.SinkRecord> records) Marks all remaining elements in the collection as not processed.private voidmarkNotProcessed(org.apache.kafka.connect.sink.SinkRecord record) Marks a single record as not processed.private voidmarkProcessed(org.apache.kafka.connect.sink.SinkRecord record) Marks a sink record as processed.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) voidput(Collection<org.apache.kafka.connect.sink.SinkRecord> records) voidvoidstop()private voidvalidate(org.apache.kafka.connect.sink.SinkRecord record) version()Methods inherited from class org.apache.kafka.connect.sink.SinkTask
close, flush, initialize, onPartitionsAssigned, onPartitionsRevoked, open
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
SCHEMA_CHANGE_VALUE
- See Also:
-
DETECT_SCHEMA_CHANGE_RECORD_MSG
- See Also:
-
state
-
stateLock
-
changeEventSink
-
offsets
private Map<org.apache.kafka.common.TopicPartition,org.apache.kafka.clients.consumer.OffsetAndMetadata> offsets -
previousPutException
-
-
Constructor Details
-
JdbcSinkConnectorTask
public JdbcSinkConnectorTask()
-
-
Method Details
-
version
-
start
- Specified by:
startin interfaceorg.apache.kafka.connect.connector.Task- Specified by:
startin classorg.apache.kafka.connect.sink.SinkTask
-
put
- Specified by:
putin classorg.apache.kafka.connect.sink.SinkTask
-
validate
private void validate(org.apache.kafka.connect.sink.SinkRecord record) -
isSchemaChange
private static boolean isSchemaChange(org.apache.kafka.connect.sink.SinkRecord record) -
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:
preCommitin classorg.apache.kafka.connect.sink.SinkTask
-
stop
public void stop()- Specified by:
stopin interfaceorg.apache.kafka.connect.connector.Task- Specified by:
stopin classorg.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 benull
-
markNotProcessed
Marks all remaining elements in the collection as not processed.- Parameters:
records- collection of sink records, should not benull
-
markNotProcessed
private void markNotProcessed(org.apache.kafka.connect.sink.SinkRecord record) Marks a single record as not processed.- Parameters:
record- sink record, should not benull
-
getOriginalTopicName
-