@NotThreadSafe public final class MySqlConnectorTask extends BaseSourceTask
MySqlConnector| Modifier and Type | Class and Description |
|---|---|
class |
MySqlConnectorTask.ServerIdGenerator |
| Modifier and Type | Field and Description |
|---|---|
private MySqlJdbcContext |
connectionContext |
private org.slf4j.Logger |
logger |
private ChainedReader |
readers |
private MySqlTaskContext |
taskContext |
| Constructor and Description |
|---|
MySqlConnectorTask()
Create an instance of the log reader that uses Kafka to store database schema history and the
default topic selector of "<serverName>.<databaseName>.<tableName>"
for
data and "<serverName>" for metadata. |
| Modifier and Type | Method and Description |
|---|---|
protected void |
completeReaders()
|
private static MySqlTaskContext |
createAndStartTaskContext(Configuration config,
Filters filters) |
protected String |
earliestBinlogFilename()
Determine the earliest binlog filename that is still available in the server.
|
protected Iterable<Field> |
getAllConfigurationFields() |
private static Filters |
getAllFilters(Configuration config)
Get the filters representing all tables represented by the config.
|
private static Filters |
getNewFilters(Map<String,?> offsets,
Configuration config)
Get the filters representing the tables that have been newly added to the config, but
not those that previously existed in the config.
|
private static Filters |
getOldFilters(Map<String,?> offsets,
Configuration config)
Get the filters representing those tables that previously existed in the config, but
not those newly added to the config.
|
private Map<String,?> |
getRestartOffset(Map<String,?> storedOffset)
Get the offset to restart the connector from.
|
protected boolean |
isBinlogAvailable()
Determine whether the binlog position as set on the
SourceInfo is available in the
server. |
protected boolean |
isRowBinlogEnabled()
Determine whether the MySQL server has the row-level binlog enabled.
|
private boolean |
newTablesInConfig() |
List<org.apache.kafka.connect.source.SourceRecord> |
poll() |
void |
start(Configuration config) |
void |
stop() |
String |
version() |
getPreviousOffset, startprivate final org.slf4j.Logger logger
private volatile MySqlTaskContext taskContext
private volatile MySqlJdbcContext connectionContext
private volatile ChainedReader readers
public MySqlConnectorTask()
default topic selector of "<serverName>.<databaseName>.<tableName>"
for
data and "<serverName>" for metadata.public String version()
public void start(Configuration config)
start in class BaseSourceTaskprivate Map<String,?> getRestartOffset(Map<String,?> storedOffset)
storedOffset - the stored offset.RecordMakers.RecordMakers(MySqlSchema, SourceInfo, TopicSelector, boolean, Map)private static MySqlTaskContext createAndStartTaskContext(Configuration config, Filters filters)
private boolean newTablesInConfig()
private static Filters getNewFilters(Map<String,?> offsets, Configuration config)
Filtersprivate static Filters getOldFilters(Map<String,?> offsets, Configuration config)
Filtersprivate static Filters getAllFilters(Configuration config)
Filterspublic List<org.apache.kafka.connect.source.SourceRecord> poll() throws InterruptedException
poll in class org.apache.kafka.connect.source.SourceTaskInterruptedExceptionpublic void stop()
stop in interface org.apache.kafka.connect.connector.Taskstop in class org.apache.kafka.connect.source.SourceTaskprotected Iterable<Field> getAllConfigurationFields()
getAllConfigurationFields in class BaseSourceTaskprotected void completeReaders()
protected boolean isBinlogAvailable()
SourceInfo is available in the
server.true if the server has the binlog coordinates, or false otherwiseprotected String earliestBinlogFilename()
protected boolean isRowBinlogEnabled()
true if the server's binlog_format is set to ROW, or false otherwiseCopyright © 2019 JBoss by Red Hat. All rights reserved.