| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.camel.builder.endpoint.dsl; |
| |
| import javax.annotation.Generated; |
| import org.apache.camel.ExchangePattern; |
| import org.apache.camel.builder.EndpointConsumerBuilder; |
| import org.apache.camel.builder.EndpointProducerBuilder; |
| import org.apache.camel.builder.endpoint.AbstractEndpointBuilder; |
| import org.apache.camel.spi.ExceptionHandler; |
| |
| /** |
| * Represents a Debezium MySQL endpoint which is used to capture changes in |
| * MySQL database so that that applications can see those changes and respond to |
| * them. |
| * |
| * Generated by camel-package-maven-plugin - do not edit this file! |
| */ |
| @Generated("org.apache.camel.maven.packaging.EndpointDslMojo") |
| public interface DebeziumMySqlEndpointBuilderFactory { |
| |
| |
| /** |
| * Builder for endpoint for the Debezium MySQL Connector component. |
| */ |
| public interface DebeziumMySqlEndpointBuilder |
| extends |
| EndpointConsumerBuilder { |
| default AdvancedDebeziumMySqlEndpointBuilder advanced() { |
| return (AdvancedDebeziumMySqlEndpointBuilder) this; |
| } |
| /** |
| * Allows for bridging the consumer to the Camel routing Error Handler, |
| * which mean any exceptions occurred while the consumer is trying to |
| * pickup incoming messages, or the likes, will now be processed as a |
| * message and handled by the routing Error Handler. By default the |
| * consumer will use the org.apache.camel.spi.ExceptionHandler to deal |
| * with exceptions, that will be logged at WARN or ERROR level and |
| * ignored. |
| * |
| * The option is a: <code>boolean</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder bridgeErrorHandler( |
| boolean bridgeErrorHandler) { |
| doSetProperty("bridgeErrorHandler", bridgeErrorHandler); |
| return this; |
| } |
| /** |
| * Allows for bridging the consumer to the Camel routing Error Handler, |
| * which mean any exceptions occurred while the consumer is trying to |
| * pickup incoming messages, or the likes, will now be processed as a |
| * message and handled by the routing Error Handler. By default the |
| * consumer will use the org.apache.camel.spi.ExceptionHandler to deal |
| * with exceptions, that will be logged at WARN or ERROR level and |
| * ignored. |
| * |
| * The option will be converted to a <code>boolean</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder bridgeErrorHandler( |
| String bridgeErrorHandler) { |
| doSetProperty("bridgeErrorHandler", bridgeErrorHandler); |
| return this; |
| } |
| /** |
| * The Converter class that should be used to serialize and deserialize |
| * key data for offsets. The default is JSON converter. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder internalKeyConverter( |
| String internalKeyConverter) { |
| doSetProperty("internalKeyConverter", internalKeyConverter); |
| return this; |
| } |
| /** |
| * The Converter class that should be used to serialize and deserialize |
| * value data for offsets. The default is JSON converter. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder internalValueConverter( |
| String internalValueConverter) { |
| doSetProperty("internalValueConverter", internalValueConverter); |
| return this; |
| } |
| /** |
| * The name of the Java class of the commit policy. It defines when |
| * offsets commit has to be triggered based on the number of events |
| * processed and the time elapsed since the last commit. This class must |
| * implement the interface 'OffsetCommitPolicy'. The default is a |
| * periodic commit policy based upon time intervals. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder offsetCommitPolicy( |
| String offsetCommitPolicy) { |
| doSetProperty("offsetCommitPolicy", offsetCommitPolicy); |
| return this; |
| } |
| /** |
| * Maximum number of milliseconds to wait for records to flush and |
| * partition offset data to be committed to offset storage before |
| * cancelling the process and restoring the offset data to be committed |
| * in a future attempt. The default is 5 seconds. |
| * |
| * The option is a: <code>long</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder offsetCommitTimeoutMs( |
| long offsetCommitTimeoutMs) { |
| doSetProperty("offsetCommitTimeoutMs", offsetCommitTimeoutMs); |
| return this; |
| } |
| /** |
| * Maximum number of milliseconds to wait for records to flush and |
| * partition offset data to be committed to offset storage before |
| * cancelling the process and restoring the offset data to be committed |
| * in a future attempt. The default is 5 seconds. |
| * |
| * The option will be converted to a <code>long</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder offsetCommitTimeoutMs( |
| String offsetCommitTimeoutMs) { |
| doSetProperty("offsetCommitTimeoutMs", offsetCommitTimeoutMs); |
| return this; |
| } |
| /** |
| * Interval at which to try committing offsets. The default is 1 minute. |
| * |
| * The option is a: <code>long</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder offsetFlushIntervalMs( |
| long offsetFlushIntervalMs) { |
| doSetProperty("offsetFlushIntervalMs", offsetFlushIntervalMs); |
| return this; |
| } |
| /** |
| * Interval at which to try committing offsets. The default is 1 minute. |
| * |
| * The option will be converted to a <code>long</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder offsetFlushIntervalMs( |
| String offsetFlushIntervalMs) { |
| doSetProperty("offsetFlushIntervalMs", offsetFlushIntervalMs); |
| return this; |
| } |
| /** |
| * The name of the Java class that is responsible for persistence of |
| * connector offsets. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder offsetStorage(String offsetStorage) { |
| doSetProperty("offsetStorage", offsetStorage); |
| return this; |
| } |
| /** |
| * Path to file where offsets are to be stored. Required when |
| * offset.storage is set to the FileOffsetBackingStore. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder offsetStorageFileName( |
| String offsetStorageFileName) { |
| doSetProperty("offsetStorageFileName", offsetStorageFileName); |
| return this; |
| } |
| /** |
| * The number of partitions used when creating the offset storage topic. |
| * Required when offset.storage is set to the 'KafkaOffsetBackingStore'. |
| * |
| * The option is a: <code>int</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder offsetStoragePartitions( |
| int offsetStoragePartitions) { |
| doSetProperty("offsetStoragePartitions", offsetStoragePartitions); |
| return this; |
| } |
| /** |
| * The number of partitions used when creating the offset storage topic. |
| * Required when offset.storage is set to the 'KafkaOffsetBackingStore'. |
| * |
| * The option will be converted to a <code>int</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder offsetStoragePartitions( |
| String offsetStoragePartitions) { |
| doSetProperty("offsetStoragePartitions", offsetStoragePartitions); |
| return this; |
| } |
| /** |
| * Replication factor used when creating the offset storage topic. |
| * Required when offset.storage is set to the KafkaOffsetBackingStore. |
| * |
| * The option is a: <code>int</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder offsetStorageReplicationFactor( |
| int offsetStorageReplicationFactor) { |
| doSetProperty("offsetStorageReplicationFactor", offsetStorageReplicationFactor); |
| return this; |
| } |
| /** |
| * Replication factor used when creating the offset storage topic. |
| * Required when offset.storage is set to the KafkaOffsetBackingStore. |
| * |
| * The option will be converted to a <code>int</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder offsetStorageReplicationFactor( |
| String offsetStorageReplicationFactor) { |
| doSetProperty("offsetStorageReplicationFactor", offsetStorageReplicationFactor); |
| return this; |
| } |
| /** |
| * The name of the Kafka topic where offsets are to be stored. Required |
| * when offset.storage is set to the KafkaOffsetBackingStore. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: consumer |
| */ |
| default DebeziumMySqlEndpointBuilder offsetStorageTopic( |
| String offsetStorageTopic) { |
| doSetProperty("offsetStorageTopic", offsetStorageTopic); |
| return this; |
| } |
| /** |
| * Specify how BIGINT UNSIGNED columns should be represented in change |
| * events, including:'precise' uses java.math.BigDecimal to represent |
| * values, which are encoded in the change events using a binary |
| * representation and Kafka Connect's |
| * 'org.apache.kafka.connect.data.Decimal' type; 'long' (the default) |
| * represents values using Java's 'long', which may not offer the |
| * precision but will be far easier to use in consumers. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder bigintUnsignedHandlingMode( |
| String bigintUnsignedHandlingMode) { |
| doSetProperty("bigintUnsignedHandlingMode", bigintUnsignedHandlingMode); |
| return this; |
| } |
| /** |
| * The size of a look-ahead buffer used by the binlog reader to decide |
| * whether the transaction in progress is going to be committed or |
| * rolled back. Use 0 to disable look-ahead buffering. Defaults to 0 |
| * (i.e. buffering is disabled). |
| * |
| * The option is a: <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder binlogBufferSize( |
| int binlogBufferSize) { |
| doSetProperty("binlogBufferSize", binlogBufferSize); |
| return this; |
| } |
| /** |
| * The size of a look-ahead buffer used by the binlog reader to decide |
| * whether the transaction in progress is going to be committed or |
| * rolled back. Use 0 to disable look-ahead buffering. Defaults to 0 |
| * (i.e. buffering is disabled). |
| * |
| * The option will be converted to a <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder binlogBufferSize( |
| String binlogBufferSize) { |
| doSetProperty("binlogBufferSize", binlogBufferSize); |
| return this; |
| } |
| /** |
| * Description is not available here, please check Debezium website for |
| * corresponding key 'column.blacklist' description. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder columnBlacklist( |
| String columnBlacklist) { |
| doSetProperty("columnBlacklist", columnBlacklist); |
| return this; |
| } |
| /** |
| * Whether a separate thread should be used to ensure the connection is |
| * kept alive. |
| * |
| * The option is a: <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder connectKeepAlive( |
| boolean connectKeepAlive) { |
| doSetProperty("connectKeepAlive", connectKeepAlive); |
| return this; |
| } |
| /** |
| * Whether a separate thread should be used to ensure the connection is |
| * kept alive. |
| * |
| * The option will be converted to a <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder connectKeepAlive( |
| String connectKeepAlive) { |
| doSetProperty("connectKeepAlive", connectKeepAlive); |
| return this; |
| } |
| /** |
| * Interval in milliseconds to wait for connection checking if keep |
| * alive thread is used. |
| * |
| * The option is a: <code>long</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder connectKeepAliveIntervalMs( |
| long connectKeepAliveIntervalMs) { |
| doSetProperty("connectKeepAliveIntervalMs", connectKeepAliveIntervalMs); |
| return this; |
| } |
| /** |
| * Interval in milliseconds to wait for connection checking if keep |
| * alive thread is used. |
| * |
| * The option will be converted to a <code>long</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder connectKeepAliveIntervalMs( |
| String connectKeepAliveIntervalMs) { |
| doSetProperty("connectKeepAliveIntervalMs", connectKeepAliveIntervalMs); |
| return this; |
| } |
| /** |
| * Maximum time in milliseconds to wait after trying to connect to the |
| * database before timing out. |
| * |
| * The option is a: <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder connectTimeoutMs( |
| int connectTimeoutMs) { |
| doSetProperty("connectTimeoutMs", connectTimeoutMs); |
| return this; |
| } |
| /** |
| * Maximum time in milliseconds to wait after trying to connect to the |
| * database before timing out. |
| * |
| * The option will be converted to a <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder connectTimeoutMs( |
| String connectTimeoutMs) { |
| doSetProperty("connectTimeoutMs", connectTimeoutMs); |
| return this; |
| } |
| /** |
| * Description is not available here, please check Debezium website for |
| * corresponding key 'database.blacklist' description. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseBlacklist( |
| String databaseBlacklist) { |
| doSetProperty("databaseBlacklist", databaseBlacklist); |
| return this; |
| } |
| /** |
| * The name of the DatabaseHistory class that should be used to store |
| * and recover database schema changes. The configuration properties for |
| * the history are prefixed with the 'database.history.' string. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseHistory( |
| String databaseHistory) { |
| doSetProperty("databaseHistory", databaseHistory); |
| return this; |
| } |
| /** |
| * The path to the file that will be used to record the database |
| * history. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseHistoryFileFilename( |
| String databaseHistoryFileFilename) { |
| doSetProperty("databaseHistoryFileFilename", databaseHistoryFileFilename); |
| return this; |
| } |
| /** |
| * A list of host/port pairs that the connector will use for |
| * establishing the initial connection to the Kafka cluster for |
| * retrieving database schema history previously stored by the |
| * connector. This should point to the same Kafka cluster used by the |
| * Kafka Connect process. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseHistoryKafkaBootstrapServers( |
| String databaseHistoryKafkaBootstrapServers) { |
| doSetProperty("databaseHistoryKafkaBootstrapServers", databaseHistoryKafkaBootstrapServers); |
| return this; |
| } |
| /** |
| * The number of attempts in a row that no data are returned from Kafka |
| * before recover completes. The maximum amount of time to wait after |
| * receiving no data is (recovery.attempts) x |
| * (recovery.poll.interval.ms). |
| * |
| * The option is a: <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseHistoryKafkaRecoveryAttempts( |
| int databaseHistoryKafkaRecoveryAttempts) { |
| doSetProperty("databaseHistoryKafkaRecoveryAttempts", databaseHistoryKafkaRecoveryAttempts); |
| return this; |
| } |
| /** |
| * The number of attempts in a row that no data are returned from Kafka |
| * before recover completes. The maximum amount of time to wait after |
| * receiving no data is (recovery.attempts) x |
| * (recovery.poll.interval.ms). |
| * |
| * The option will be converted to a <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseHistoryKafkaRecoveryAttempts( |
| String databaseHistoryKafkaRecoveryAttempts) { |
| doSetProperty("databaseHistoryKafkaRecoveryAttempts", databaseHistoryKafkaRecoveryAttempts); |
| return this; |
| } |
| /** |
| * The number of milliseconds to wait while polling for persisted data |
| * during recovery. |
| * |
| * The option is a: <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseHistoryKafkaRecoveryPollIntervalMs( |
| int databaseHistoryKafkaRecoveryPollIntervalMs) { |
| doSetProperty("databaseHistoryKafkaRecoveryPollIntervalMs", databaseHistoryKafkaRecoveryPollIntervalMs); |
| return this; |
| } |
| /** |
| * The number of milliseconds to wait while polling for persisted data |
| * during recovery. |
| * |
| * The option will be converted to a <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseHistoryKafkaRecoveryPollIntervalMs( |
| String databaseHistoryKafkaRecoveryPollIntervalMs) { |
| doSetProperty("databaseHistoryKafkaRecoveryPollIntervalMs", databaseHistoryKafkaRecoveryPollIntervalMs); |
| return this; |
| } |
| /** |
| * The name of the topic for the database schema history. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseHistoryKafkaTopic( |
| String databaseHistoryKafkaTopic) { |
| doSetProperty("databaseHistoryKafkaTopic", databaseHistoryKafkaTopic); |
| return this; |
| } |
| /** |
| * Controls the action Debezium will take when it meets a DDL statement |
| * in binlog, that it cannot parse.By default the connector will stop |
| * operating but by changing the setting it can ignore the statements |
| * which it cannot parse. If skipping is enabled then Debezium can miss |
| * metadata changes. |
| * |
| * The option is a: <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseHistorySkipUnparseableDdl( |
| boolean databaseHistorySkipUnparseableDdl) { |
| doSetProperty("databaseHistorySkipUnparseableDdl", databaseHistorySkipUnparseableDdl); |
| return this; |
| } |
| /** |
| * Controls the action Debezium will take when it meets a DDL statement |
| * in binlog, that it cannot parse.By default the connector will stop |
| * operating but by changing the setting it can ignore the statements |
| * which it cannot parse. If skipping is enabled then Debezium can miss |
| * metadata changes. |
| * |
| * The option will be converted to a <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseHistorySkipUnparseableDdl( |
| String databaseHistorySkipUnparseableDdl) { |
| doSetProperty("databaseHistorySkipUnparseableDdl", databaseHistorySkipUnparseableDdl); |
| return this; |
| } |
| /** |
| * Controls what DDL will Debezium store in database history.By default |
| * (false) Debezium will store all incoming DDL statements. If set to |
| * truethen only DDL that manipulates a monitored table will be stored. |
| * |
| * The option is a: <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseHistoryStoreOnlyMonitoredTablesDdl( |
| boolean databaseHistoryStoreOnlyMonitoredTablesDdl) { |
| doSetProperty("databaseHistoryStoreOnlyMonitoredTablesDdl", databaseHistoryStoreOnlyMonitoredTablesDdl); |
| return this; |
| } |
| /** |
| * Controls what DDL will Debezium store in database history.By default |
| * (false) Debezium will store all incoming DDL statements. If set to |
| * truethen only DDL that manipulates a monitored table will be stored. |
| * |
| * The option will be converted to a <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseHistoryStoreOnlyMonitoredTablesDdl( |
| String databaseHistoryStoreOnlyMonitoredTablesDdl) { |
| doSetProperty("databaseHistoryStoreOnlyMonitoredTablesDdl", databaseHistoryStoreOnlyMonitoredTablesDdl); |
| return this; |
| } |
| /** |
| * Resolvable hostname or IP address of the MySQL database server. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseHostname( |
| String databaseHostname) { |
| doSetProperty("databaseHostname", databaseHostname); |
| return this; |
| } |
| /** |
| * A semicolon separated list of SQL statements to be executed when a |
| * JDBC connection (not binlog reading connection) to the database is |
| * established. Note that the connector may establish JDBC connections |
| * at its own discretion, so this should typically be used for |
| * configuration of session parameters only,but not for executing DML |
| * statements. Use doubled semicolon (';;') to use a semicolon as a |
| * character and not as a delimiter. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseInitialStatements( |
| String databaseInitialStatements) { |
| doSetProperty("databaseInitialStatements", databaseInitialStatements); |
| return this; |
| } |
| /** |
| * JDBC Driver class name used to connect to the MySQL database server. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseJdbcDriver( |
| String databaseJdbcDriver) { |
| doSetProperty("databaseJdbcDriver", databaseJdbcDriver); |
| return this; |
| } |
| /** |
| * Password of the MySQL database user to be used when connecting to the |
| * database. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Required: true |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databasePassword( |
| String databasePassword) { |
| doSetProperty("databasePassword", databasePassword); |
| return this; |
| } |
| /** |
| * Port of the MySQL database server. |
| * |
| * The option is a: <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databasePort(int databasePort) { |
| doSetProperty("databasePort", databasePort); |
| return this; |
| } |
| /** |
| * Port of the MySQL database server. |
| * |
| * The option will be converted to a <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databasePort(String databasePort) { |
| doSetProperty("databasePort", databasePort); |
| return this; |
| } |
| /** |
| * A numeric ID of this database client, which must be unique across all |
| * currently-running database processes in the cluster. This connector |
| * joins the MySQL database cluster as another server (with this unique |
| * ID) so it can read the binlog. By default, a random number is |
| * generated between 5400 and 6400. |
| * |
| * The option is a: <code>long</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseServerId( |
| long databaseServerId) { |
| doSetProperty("databaseServerId", databaseServerId); |
| return this; |
| } |
| /** |
| * A numeric ID of this database client, which must be unique across all |
| * currently-running database processes in the cluster. This connector |
| * joins the MySQL database cluster as another server (with this unique |
| * ID) so it can read the binlog. By default, a random number is |
| * generated between 5400 and 6400. |
| * |
| * The option will be converted to a <code>long</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseServerId( |
| String databaseServerId) { |
| doSetProperty("databaseServerId", databaseServerId); |
| return this; |
| } |
| /** |
| * Only relevant if parallel snapshotting is configured. During parallel |
| * snapshotting, multiple (4) connections open to the database client, |
| * and they each need their own unique connection ID. This offset is |
| * used to generate those IDs from the base configured cluster ID. |
| * |
| * The option is a: <code>long</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseServerIdOffset( |
| long databaseServerIdOffset) { |
| doSetProperty("databaseServerIdOffset", databaseServerIdOffset); |
| return this; |
| } |
| /** |
| * Only relevant if parallel snapshotting is configured. During parallel |
| * snapshotting, multiple (4) connections open to the database client, |
| * and they each need their own unique connection ID. This offset is |
| * used to generate those IDs from the base configured cluster ID. |
| * |
| * The option will be converted to a <code>long</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseServerIdOffset( |
| String databaseServerIdOffset) { |
| doSetProperty("databaseServerIdOffset", databaseServerIdOffset); |
| return this; |
| } |
| /** |
| * Unique name that identifies the database server and all recorded |
| * offsets, and that is used as a prefix for all schemas and topics. |
| * Each distinct installation should have a separate namespace and be |
| * monitored by at most one Debezium connector. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Required: true |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseServerName( |
| String databaseServerName) { |
| doSetProperty("databaseServerName", databaseServerName); |
| return this; |
| } |
| /** |
| * Location of the Java keystore file containing an application |
| * process's own certificate and private key. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseSslKeystore( |
| String databaseSslKeystore) { |
| doSetProperty("databaseSslKeystore", databaseSslKeystore); |
| return this; |
| } |
| /** |
| * Password to access the private key from the keystore file specified |
| * by 'ssl.keystore' configuration property or the |
| * 'javax.net.ssl.keyStore' system or JVM property. This password is |
| * used to unlock the keystore file (store password), and to decrypt the |
| * private key stored in the keystore (key password). |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseSslKeystorePassword( |
| String databaseSslKeystorePassword) { |
| doSetProperty("databaseSslKeystorePassword", databaseSslKeystorePassword); |
| return this; |
| } |
| /** |
| * Whether to use an encrypted connection to MySQL. Options |
| * include'disabled' (the default) to use an unencrypted connection; |
| * 'preferred' to establish a secure (encrypted) connection if the |
| * server supports secure connections, but fall back to an unencrypted |
| * connection otherwise; 'required' to use a secure (encrypted) |
| * connection, and fail if one cannot be established; 'verify_ca' like |
| * 'required' but additionally verify the server TLS certificate against |
| * the configured Certificate Authority (CA) certificates, or fail if no |
| * valid matching CA certificates are found; or'verify_identity' like |
| * 'verify_ca' but additionally verify that the server certificate |
| * matches the host to which the connection is attempted. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseSslMode( |
| String databaseSslMode) { |
| doSetProperty("databaseSslMode", databaseSslMode); |
| return this; |
| } |
| /** |
| * Location of the Java truststore file containing the collection of CA |
| * certificates trusted by this application process (trust store). |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseSslTruststore( |
| String databaseSslTruststore) { |
| doSetProperty("databaseSslTruststore", databaseSslTruststore); |
| return this; |
| } |
| /** |
| * Password to unlock the keystore file (store password) specified by |
| * 'ssl.trustore' configuration property or the |
| * 'javax.net.ssl.trustStore' system or JVM property. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseSslTruststorePassword( |
| String databaseSslTruststorePassword) { |
| doSetProperty("databaseSslTruststorePassword", databaseSslTruststorePassword); |
| return this; |
| } |
| /** |
| * Name of the MySQL database user to be used when connecting to the |
| * database. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseUser(String databaseUser) { |
| doSetProperty("databaseUser", databaseUser); |
| return this; |
| } |
| /** |
| * The databases for which changes are to be captured. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder databaseWhitelist( |
| String databaseWhitelist) { |
| doSetProperty("databaseWhitelist", databaseWhitelist); |
| return this; |
| } |
| /** |
| * Specify how DECIMAL and NUMERIC columns should be represented in |
| * change events, including:'precise' (the default) uses |
| * java.math.BigDecimal to represent values, which are encoded in the |
| * change events using a binary representation and Kafka Connect's |
| * 'org.apache.kafka.connect.data.Decimal' type; 'string' uses string to |
| * represent values; 'double' represents values using Java's 'double', |
| * which may not offer the precision but will be far easier to use in |
| * consumers. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder decimalHandlingMode( |
| String decimalHandlingMode) { |
| doSetProperty("decimalHandlingMode", decimalHandlingMode); |
| return this; |
| } |
| /** |
| * MySQL allows user to insert year value as either 2-digit or 4-digit. |
| * In case of two digit the value is automatically mapped into 1970 - |
| * 2069.false - delegates the implicit conversion to the databasetrue - |
| * (the default) Debezium makes the conversion. |
| * |
| * The option is a: <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder enableTimeAdjuster( |
| boolean enableTimeAdjuster) { |
| doSetProperty("enableTimeAdjuster", enableTimeAdjuster); |
| return this; |
| } |
| /** |
| * MySQL allows user to insert year value as either 2-digit or 4-digit. |
| * In case of two digit the value is automatically mapped into 1970 - |
| * 2069.false - delegates the implicit conversion to the databasetrue - |
| * (the default) Debezium makes the conversion. |
| * |
| * The option will be converted to a <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder enableTimeAdjuster( |
| String enableTimeAdjuster) { |
| doSetProperty("enableTimeAdjuster", enableTimeAdjuster); |
| return this; |
| } |
| /** |
| * Specify how failures during deserialization of binlog events (i.e. |
| * when encountering a corrupted event) should be handled, |
| * including:'fail' (the default) an exception indicating the |
| * problematic event and its binlog position is raised, causing the |
| * connector to be stopped; 'warn' the problematic event and its binlog |
| * position will be logged and the event will be skipped;'ignore' the |
| * problematic event will be skipped. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder eventDeserializationFailureHandlingMode( |
| String eventDeserializationFailureHandlingMode) { |
| doSetProperty("eventDeserializationFailureHandlingMode", eventDeserializationFailureHandlingMode); |
| return this; |
| } |
| /** |
| * If set to 'latest', when connector sees new GTID, it will start |
| * consuming gtid channel from the server latest executed gtid position. |
| * If 'earliest' connector starts reading channel from first available |
| * (not purged) gtid position on the server. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder gtidNewChannelPosition( |
| String gtidNewChannelPosition) { |
| doSetProperty("gtidNewChannelPosition", gtidNewChannelPosition); |
| return this; |
| } |
| /** |
| * The source UUIDs used to exclude GTID ranges when determine the |
| * starting position in the MySQL server's binlog. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder gtidSourceExcludes( |
| String gtidSourceExcludes) { |
| doSetProperty("gtidSourceExcludes", gtidSourceExcludes); |
| return this; |
| } |
| /** |
| * If set to true, we will only produce DML events into Kafka for |
| * transactions that were written on mysql servers with UUIDs matching |
| * the filters defined by the gtid.source.includes or |
| * gtid.source.excludes configuration options, if they are specified. |
| * |
| * The option is a: <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder gtidSourceFilterDmlEvents( |
| boolean gtidSourceFilterDmlEvents) { |
| doSetProperty("gtidSourceFilterDmlEvents", gtidSourceFilterDmlEvents); |
| return this; |
| } |
| /** |
| * If set to true, we will only produce DML events into Kafka for |
| * transactions that were written on mysql servers with UUIDs matching |
| * the filters defined by the gtid.source.includes or |
| * gtid.source.excludes configuration options, if they are specified. |
| * |
| * The option will be converted to a <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder gtidSourceFilterDmlEvents( |
| String gtidSourceFilterDmlEvents) { |
| doSetProperty("gtidSourceFilterDmlEvents", gtidSourceFilterDmlEvents); |
| return this; |
| } |
| /** |
| * The source UUIDs used to include GTID ranges when determine the |
| * starting position in the MySQL server's binlog. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder gtidSourceIncludes( |
| String gtidSourceIncludes) { |
| doSetProperty("gtidSourceIncludes", gtidSourceIncludes); |
| return this; |
| } |
| /** |
| * Length of an interval in milli-seconds in in which the connector |
| * periodically sends heartbeat messages to a heartbeat topic. Use 0 to |
| * disable heartbeat messages. Disabled by default. |
| * |
| * The option is a: <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder heartbeatIntervalMs( |
| int heartbeatIntervalMs) { |
| doSetProperty("heartbeatIntervalMs", heartbeatIntervalMs); |
| return this; |
| } |
| /** |
| * Length of an interval in milli-seconds in in which the connector |
| * periodically sends heartbeat messages to a heartbeat topic. Use 0 to |
| * disable heartbeat messages. Disabled by default. |
| * |
| * The option will be converted to a <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder heartbeatIntervalMs( |
| String heartbeatIntervalMs) { |
| doSetProperty("heartbeatIntervalMs", heartbeatIntervalMs); |
| return this; |
| } |
| /** |
| * The prefix that is used to name heartbeat topics.Defaults to |
| * __debezium-heartbeat. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder heartbeatTopicsPrefix( |
| String heartbeatTopicsPrefix) { |
| doSetProperty("heartbeatTopicsPrefix", heartbeatTopicsPrefix); |
| return this; |
| } |
| /** |
| * Whether the connector should include the original SQL query that |
| * generated the change event. Note: This option requires MySQL be |
| * configured with the binlog_rows_query_log_events option set to ON. |
| * Query will not be present for events generated from snapshot. |
| * WARNING: Enabling this option may expose tables or fields explicitly |
| * blacklisted or masked by including the original SQL statement in the |
| * change event. For this reason the default value is 'false'. |
| * |
| * The option is a: <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder includeQuery(boolean includeQuery) { |
| doSetProperty("includeQuery", includeQuery); |
| return this; |
| } |
| /** |
| * Whether the connector should include the original SQL query that |
| * generated the change event. Note: This option requires MySQL be |
| * configured with the binlog_rows_query_log_events option set to ON. |
| * Query will not be present for events generated from snapshot. |
| * WARNING: Enabling this option may expose tables or fields explicitly |
| * blacklisted or masked by including the original SQL statement in the |
| * change event. For this reason the default value is 'false'. |
| * |
| * The option will be converted to a <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder includeQuery(String includeQuery) { |
| doSetProperty("includeQuery", includeQuery); |
| return this; |
| } |
| /** |
| * Whether the connector should publish changes in the database schema |
| * to a Kafka topic with the same name as the database server ID. Each |
| * schema change will be recorded using a key that contains the database |
| * name and whose value includes the DDL statement(s).The default is |
| * 'true'. This is independent of how the connector internally records |
| * database history. |
| * |
| * The option is a: <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder includeSchemaChanges( |
| boolean includeSchemaChanges) { |
| doSetProperty("includeSchemaChanges", includeSchemaChanges); |
| return this; |
| } |
| /** |
| * Whether the connector should publish changes in the database schema |
| * to a Kafka topic with the same name as the database server ID. Each |
| * schema change will be recorded using a key that contains the database |
| * name and whose value includes the DDL statement(s).The default is |
| * 'true'. This is independent of how the connector internally records |
| * database history. |
| * |
| * The option will be converted to a <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder includeSchemaChanges( |
| String includeSchemaChanges) { |
| doSetProperty("includeSchemaChanges", includeSchemaChanges); |
| return this; |
| } |
| /** |
| * Specify how binlog events that belong to a table missing from |
| * internal schema representation (i.e. internal representation is not |
| * consistent with database) should be handled, including:'fail' (the |
| * default) an exception indicating the problematic event and its binlog |
| * position is raised, causing the connector to be stopped; 'warn' the |
| * problematic event and its binlog position will be logged and the |
| * event will be skipped;'ignore' the problematic event will be skipped. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder inconsistentSchemaHandlingMode( |
| String inconsistentSchemaHandlingMode) { |
| doSetProperty("inconsistentSchemaHandlingMode", inconsistentSchemaHandlingMode); |
| return this; |
| } |
| /** |
| * Maximum size of each batch of source records. Defaults to 2048. |
| * |
| * The option is a: <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder maxBatchSize(int maxBatchSize) { |
| doSetProperty("maxBatchSize", maxBatchSize); |
| return this; |
| } |
| /** |
| * Maximum size of each batch of source records. Defaults to 2048. |
| * |
| * The option will be converted to a <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder maxBatchSize(String maxBatchSize) { |
| doSetProperty("maxBatchSize", maxBatchSize); |
| return this; |
| } |
| /** |
| * Maximum size of the queue for change events read from the database |
| * log but not yet recorded or forwarded. Defaults to 8192, and should |
| * always be larger than the maximum batch size. |
| * |
| * The option is a: <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder maxQueueSize(int maxQueueSize) { |
| doSetProperty("maxQueueSize", maxQueueSize); |
| return this; |
| } |
| /** |
| * Maximum size of the queue for change events read from the database |
| * log but not yet recorded or forwarded. Defaults to 8192, and should |
| * always be larger than the maximum batch size. |
| * |
| * The option will be converted to a <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder maxQueueSize(String maxQueueSize) { |
| doSetProperty("maxQueueSize", maxQueueSize); |
| return this; |
| } |
| /** |
| * A semicolon-separated list of expressions that match fully-qualified |
| * tables and column(s) to be used as message key. Each expression must |
| * match the pattern ':',where the table names could be defined as |
| * (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the |
| * specific connector,and the key columns are a comma-separated list of |
| * columns representing the custom key. For any table without an |
| * explicit key configuration the table's primary key column(s) will be |
| * used as message key.Example: |
| * dbserver1.inventory.orderlines:orderId,orderLineId;dbserver1.inventory.orders:id. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder messageKeyColumns( |
| String messageKeyColumns) { |
| doSetProperty("messageKeyColumns", messageKeyColumns); |
| return this; |
| } |
| /** |
| * Frequency in milliseconds to wait for new change events to appear |
| * after receiving no events. Defaults to 500ms. |
| * |
| * The option is a: <code>long</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder pollIntervalMs(long pollIntervalMs) { |
| doSetProperty("pollIntervalMs", pollIntervalMs); |
| return this; |
| } |
| /** |
| * Frequency in milliseconds to wait for new change events to appear |
| * after receiving no events. Defaults to 500ms. |
| * |
| * The option will be converted to a <code>long</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder pollIntervalMs( |
| String pollIntervalMs) { |
| doSetProperty("pollIntervalMs", pollIntervalMs); |
| return this; |
| } |
| /** |
| * The number of milliseconds to delay before a snapshot will begin. |
| * |
| * The option is a: <code>long</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder snapshotDelayMs( |
| long snapshotDelayMs) { |
| doSetProperty("snapshotDelayMs", snapshotDelayMs); |
| return this; |
| } |
| /** |
| * The number of milliseconds to delay before a snapshot will begin. |
| * |
| * The option will be converted to a <code>long</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder snapshotDelayMs( |
| String snapshotDelayMs) { |
| doSetProperty("snapshotDelayMs", snapshotDelayMs); |
| return this; |
| } |
| /** |
| * The maximum number of records that should be loaded into memory while |
| * performing a snapshot. |
| * |
| * The option is a: <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder snapshotFetchSize( |
| int snapshotFetchSize) { |
| doSetProperty("snapshotFetchSize", snapshotFetchSize); |
| return this; |
| } |
| /** |
| * The maximum number of records that should be loaded into memory while |
| * performing a snapshot. |
| * |
| * The option will be converted to a <code>int</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder snapshotFetchSize( |
| String snapshotFetchSize) { |
| doSetProperty("snapshotFetchSize", snapshotFetchSize); |
| return this; |
| } |
| /** |
| * Controls how long the connector holds onto the global read lock while |
| * it is performing a snapshot. The default is 'minimal', which means |
| * the connector holds the global read lock (and thus prevents any |
| * updates) for just the initial portion of the snapshot while the |
| * database schemas and other metadata are being read. The remaining |
| * work in a snapshot involves selecting all rows from each table, and |
| * this can be done using the snapshot process' REPEATABLE READ |
| * transaction even when the lock is no longer held and other operations |
| * are updating the database. However, in some cases it may be desirable |
| * to block all writes for the entire duration of the snapshot; in such |
| * cases set this property to 'extended'. Using a value of 'none' will |
| * prevent the connector from acquiring any table locks during the |
| * snapshot process. This mode can only be used in combination with |
| * snapshot.mode values of 'schema_only' or 'schema_only_recovery' and |
| * is only safe to use if no schema changes are happening while the |
| * snapshot is taken. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder snapshotLockingMode( |
| String snapshotLockingMode) { |
| doSetProperty("snapshotLockingMode", snapshotLockingMode); |
| return this; |
| } |
| /** |
| * The criteria for running a snapshot upon startup of the connector. |
| * Options include: 'when_needed' to specify that the connector run a |
| * snapshot upon startup whenever it deems it necessary; 'initial' (the |
| * default) to specify the connector can run a snapshot only when no |
| * offsets are available for the logical server name; 'initial_only' |
| * same as 'initial' except the connector should stop after completing |
| * the snapshot and before it would normally read the binlog; and'never' |
| * to specify the connector should never run a snapshot and that upon |
| * first startup the connector should read from the beginning of the |
| * binlog. The 'never' mode should be used with care, and only when the |
| * binlog is known to contain all history. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder snapshotMode(String snapshotMode) { |
| doSetProperty("snapshotMode", snapshotMode); |
| return this; |
| } |
| /** |
| * BETA FEATURE: On connector restart, the connector will check if there |
| * have been any new tables added to the configuration, and snapshot |
| * them. There is presently only two options:'off': Default behavior. Do |
| * not snapshot new tables.'parallel': The snapshot of the new tables |
| * will occur in parallel to the continued binlog reading of the old |
| * tables. When the snapshot completes, an independent binlog reader |
| * will begin reading the events for the new tables until it catches up |
| * to present time. At this point, both old and new binlog readers will |
| * be momentarily halted and new binlog reader will start that will read |
| * the binlog for all configured tables. The parallel binlog reader will |
| * have a configured server id of 10000 the primary binlog reader's |
| * server id. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder snapshotNewTables( |
| String snapshotNewTables) { |
| doSetProperty("snapshotNewTables", snapshotNewTables); |
| return this; |
| } |
| /** |
| * This property contains a comma-separated list of fully-qualified |
| * tables (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on |
| * thespecific connectors . Select statements for the individual tables |
| * are specified in further configuration properties, one for each |
| * table, identified by the id |
| * 'snapshot.select.statement.overrides.DB_NAME.TABLE_NAME' or |
| * 'snapshot.select.statement.overrides.SCHEMA_NAME.TABLE_NAME', |
| * respectively. The value of those properties is the select statement |
| * to use when retrieving data from the specific table during |
| * snapshotting. A possible use case for large append-only tables is |
| * setting a specific point where to start (resume) snapshotting, in |
| * case a previous snapshotting was interrupted. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder snapshotSelectStatementOverrides( |
| String snapshotSelectStatementOverrides) { |
| doSetProperty("snapshotSelectStatementOverrides", snapshotSelectStatementOverrides); |
| return this; |
| } |
| /** |
| * A version of the format of the publicly visible source part in the |
| * message. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder sourceStructVersion( |
| String sourceStructVersion) { |
| doSetProperty("sourceStructVersion", sourceStructVersion); |
| return this; |
| } |
| /** |
| * Description is not available here, please check Debezium website for |
| * corresponding key 'table.blacklist' description. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder tableBlacklist( |
| String tableBlacklist) { |
| doSetProperty("tableBlacklist", tableBlacklist); |
| return this; |
| } |
| /** |
| * Flag specifying whether built-in tables should be ignored. |
| * |
| * The option is a: <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder tableIgnoreBuiltin( |
| boolean tableIgnoreBuiltin) { |
| doSetProperty("tableIgnoreBuiltin", tableIgnoreBuiltin); |
| return this; |
| } |
| /** |
| * Flag specifying whether built-in tables should be ignored. |
| * |
| * The option will be converted to a <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder tableIgnoreBuiltin( |
| String tableIgnoreBuiltin) { |
| doSetProperty("tableIgnoreBuiltin", tableIgnoreBuiltin); |
| return this; |
| } |
| /** |
| * The tables for which changes are to be captured. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder tableWhitelist( |
| String tableWhitelist) { |
| doSetProperty("tableWhitelist", tableWhitelist); |
| return this; |
| } |
| /** |
| * Time, date and timestamps can be represented with different kinds of |
| * precisions, including:'adaptive_time_microseconds': the precision of |
| * date and timestamp values is based the database column's precision; |
| * but time fields always use microseconds precision;'connect': always |
| * represents time, date and timestamp values using Kafka Connect's |
| * built-in representations for Time, Date, and Timestamp, which uses |
| * millisecond precision regardless of the database columns' precision. |
| * |
| * The option is a: <code>java.lang.String</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder timePrecisionMode( |
| String timePrecisionMode) { |
| doSetProperty("timePrecisionMode", timePrecisionMode); |
| return this; |
| } |
| /** |
| * Whether delete operations should be represented by a delete event and |
| * a subsquenttombstone event (true) or only by a delete event (false). |
| * Emitting the tombstone event (the default behavior) allows Kafka to |
| * completely delete all events pertaining to the given key once the |
| * source record got deleted. |
| * |
| * The option is a: <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder tombstonesOnDelete( |
| boolean tombstonesOnDelete) { |
| doSetProperty("tombstonesOnDelete", tombstonesOnDelete); |
| return this; |
| } |
| /** |
| * Whether delete operations should be represented by a delete event and |
| * a subsquenttombstone event (true) or only by a delete event (false). |
| * Emitting the tombstone event (the default behavior) allows Kafka to |
| * completely delete all events pertaining to the given key once the |
| * source record got deleted. |
| * |
| * The option will be converted to a <code>boolean</code> type. |
| * |
| * Group: mysql |
| */ |
| default DebeziumMySqlEndpointBuilder tombstonesOnDelete( |
| String tombstonesOnDelete) { |
| doSetProperty("tombstonesOnDelete", tombstonesOnDelete); |
| return this; |
| } |
| } |
| |
| /** |
| * Advanced builder for endpoint for the Debezium MySQL Connector component. |
| */ |
| public interface AdvancedDebeziumMySqlEndpointBuilder |
| extends |
| EndpointConsumerBuilder { |
| default DebeziumMySqlEndpointBuilder basic() { |
| return (DebeziumMySqlEndpointBuilder) this; |
| } |
| /** |
| * To let the consumer use a custom ExceptionHandler. Notice if the |
| * option bridgeErrorHandler is enabled then this option is not in use. |
| * By default the consumer will deal with exceptions, that will be |
| * logged at WARN or ERROR level and ignored. |
| * |
| * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code> |
| * type. |
| * |
| * Group: consumer (advanced) |
| */ |
| default AdvancedDebeziumMySqlEndpointBuilder exceptionHandler( |
| ExceptionHandler exceptionHandler) { |
| doSetProperty("exceptionHandler", exceptionHandler); |
| return this; |
| } |
| /** |
| * To let the consumer use a custom ExceptionHandler. Notice if the |
| * option bridgeErrorHandler is enabled then this option is not in use. |
| * By default the consumer will deal with exceptions, that will be |
| * logged at WARN or ERROR level and ignored. |
| * |
| * The option will be converted to a |
| * <code>org.apache.camel.spi.ExceptionHandler</code> type. |
| * |
| * Group: consumer (advanced) |
| */ |
| default AdvancedDebeziumMySqlEndpointBuilder exceptionHandler( |
| String exceptionHandler) { |
| doSetProperty("exceptionHandler", exceptionHandler); |
| return this; |
| } |
| /** |
| * Sets the exchange pattern when the consumer creates an exchange. |
| * |
| * The option is a: <code>org.apache.camel.ExchangePattern</code> type. |
| * |
| * Group: consumer (advanced) |
| */ |
| default AdvancedDebeziumMySqlEndpointBuilder exchangePattern( |
| ExchangePattern exchangePattern) { |
| doSetProperty("exchangePattern", exchangePattern); |
| return this; |
| } |
| /** |
| * Sets the exchange pattern when the consumer creates an exchange. |
| * |
| * The option will be converted to a |
| * <code>org.apache.camel.ExchangePattern</code> type. |
| * |
| * Group: consumer (advanced) |
| */ |
| default AdvancedDebeziumMySqlEndpointBuilder exchangePattern( |
| String exchangePattern) { |
| doSetProperty("exchangePattern", exchangePattern); |
| return this; |
| } |
| /** |
| * Whether the endpoint should use basic property binding (Camel 2.x) or |
| * the newer property binding with additional capabilities. |
| * |
| * The option is a: <code>boolean</code> type. |
| * |
| * Group: advanced |
| */ |
| default AdvancedDebeziumMySqlEndpointBuilder basicPropertyBinding( |
| boolean basicPropertyBinding) { |
| doSetProperty("basicPropertyBinding", basicPropertyBinding); |
| return this; |
| } |
| /** |
| * Whether the endpoint should use basic property binding (Camel 2.x) or |
| * the newer property binding with additional capabilities. |
| * |
| * The option will be converted to a <code>boolean</code> type. |
| * |
| * Group: advanced |
| */ |
| default AdvancedDebeziumMySqlEndpointBuilder basicPropertyBinding( |
| String basicPropertyBinding) { |
| doSetProperty("basicPropertyBinding", basicPropertyBinding); |
| return this; |
| } |
| /** |
| * Sets whether synchronous processing should be strictly used, or Camel |
| * is allowed to use asynchronous processing (if supported). |
| * |
| * The option is a: <code>boolean</code> type. |
| * |
| * Group: advanced |
| */ |
| default AdvancedDebeziumMySqlEndpointBuilder synchronous( |
| boolean synchronous) { |
| doSetProperty("synchronous", synchronous); |
| return this; |
| } |
| /** |
| * Sets whether synchronous processing should be strictly used, or Camel |
| * is allowed to use asynchronous processing (if supported). |
| * |
| * The option will be converted to a <code>boolean</code> type. |
| * |
| * Group: advanced |
| */ |
| default AdvancedDebeziumMySqlEndpointBuilder synchronous( |
| String synchronous) { |
| doSetProperty("synchronous", synchronous); |
| return this; |
| } |
| } |
| /** |
| * Debezium MySQL Connector (camel-debezium-mysql) |
| * Represents a Debezium MySQL endpoint which is used to capture changes in |
| * MySQL database so that that applications can see those changes and |
| * respond to them. |
| * |
| * Category: database,sql,mysql |
| * Since: 3.0 |
| * Maven coordinates: org.apache.camel:camel-debezium-mysql |
| * |
| * Syntax: <code>debezium-mysql:name</code> |
| * |
| * Path parameter: name (required) |
| * Unique name for the connector. Attempting to register again with the same |
| * name will fail. |
| */ |
| default DebeziumMySqlEndpointBuilder debeziumMysql(String path) { |
| class DebeziumMySqlEndpointBuilderImpl extends AbstractEndpointBuilder implements DebeziumMySqlEndpointBuilder, AdvancedDebeziumMySqlEndpointBuilder { |
| public DebeziumMySqlEndpointBuilderImpl(String path) { |
| super("debezium-mysql", path); |
| } |
| } |
| return new DebeziumMySqlEndpointBuilderImpl(path); |
| } |
| } |