| /* |
| * 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.component.debezium.springboot; |
| |
| import java.util.Map; |
| import org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration; |
| import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon; |
| import org.springframework.boot.context.properties.ConfigurationProperties; |
| |
| /** |
| * Capture changes from a MySQL database. |
| * |
| * Generated by camel-package-maven-plugin - do not edit this file! |
| */ |
| @ConfigurationProperties(prefix = "camel.component.debezium-mysql") |
| public class DebeziumMySqlComponentConfiguration |
| extends |
| ComponentConfigurationPropertiesCommon { |
| |
| /** |
| * Whether to enable auto configuration of the debezium-mysql component. |
| * This is enabled by default. |
| */ |
| private Boolean enabled; |
| /** |
| * Additional properties for debezium components in case they can't be set |
| * directly on the camel configurations (e.g: setting Kafka Connect |
| * properties needed by Debezium engine, for example setting |
| * KafkaOffsetBackingStore), the properties have to be prefixed with |
| * additionalProperties.. E.g: |
| * additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro |
| */ |
| private Map<String, Object> additionalProperties; |
| /** |
| * Allows for bridging the consumer to the Camel routing Error Handler, |
| * which mean any exceptions (if possible) occurred while the Camel consumer |
| * is trying to pickup incoming messages, or the likes, will now be |
| * processed as a message and handled by the routing Error Handler. |
| * Important: This is only possible if the 3rd party component allows Camel |
| * to be alerted if an exception was thrown. Some components handle this |
| * internally only, and therefore bridgeErrorHandler is not possible. In |
| * other situations we may improve the Camel component to hook into the 3rd |
| * party component and make this possible for future releases. 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. |
| */ |
| private Boolean bridgeErrorHandler = false; |
| /** |
| * Allow pre-configured Configurations to be set. The option is a |
| * org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration type. |
| */ |
| private MySqlConnectorEmbeddedDebeziumConfiguration configuration; |
| /** |
| * The Converter class that should be used to serialize and deserialize key |
| * data for offsets. The default is JSON converter. |
| */ |
| private String internalKeyConverter = "org.apache.kafka.connect.json.JsonConverter"; |
| /** |
| * The Converter class that should be used to serialize and deserialize |
| * value data for offsets. The default is JSON converter. |
| */ |
| private String internalValueConverter = "org.apache.kafka.connect.json.JsonConverter"; |
| /** |
| * 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. |
| */ |
| private String offsetCommitPolicy; |
| /** |
| * 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 long type. |
| */ |
| private Long offsetCommitTimeoutMs = 5000L; |
| /** |
| * Interval at which to try committing offsets. The default is 1 minute. The |
| * option is a long type. |
| */ |
| private Long offsetFlushIntervalMs = 60000L; |
| /** |
| * The name of the Java class that is responsible for persistence of |
| * connector offsets. |
| */ |
| private String offsetStorage = "org.apache.kafka.connect.storage.FileOffsetBackingStore"; |
| /** |
| * Path to file where offsets are to be stored. Required when offset.storage |
| * is set to the FileOffsetBackingStore. |
| */ |
| private String offsetStorageFileName; |
| /** |
| * The number of partitions used when creating the offset storage topic. |
| * Required when offset.storage is set to the 'KafkaOffsetBackingStore'. |
| */ |
| private Integer offsetStoragePartitions; |
| /** |
| * Replication factor used when creating the offset storage topic. Required |
| * when offset.storage is set to the KafkaOffsetBackingStore |
| */ |
| private Integer offsetStorageReplicationFactor; |
| /** |
| * The name of the Kafka topic where offsets are to be stored. Required when |
| * offset.storage is set to the KafkaOffsetBackingStore. |
| */ |
| private String offsetStorageTopic; |
| /** |
| * Whether autowiring is enabled. This is used for automatic autowiring |
| * options (the option must be marked as autowired) by looking up in the |
| * registry to find if there is a single instance of matching type, which |
| * then gets configured on the component. This can be used for automatic |
| * configuring JDBC data sources, JMS connection factories, AWS Clients, |
| * etc. |
| */ |
| private Boolean autowiredEnabled = true; |
| /** |
| * 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. |
| */ |
| private String bigintUnsignedHandlingMode = "long"; |
| /** |
| * Specify how binary (blob, binary, etc.) columns should be represented in |
| * change events, including: 'bytes' represents binary data as byte array |
| * (default); 'base64' represents binary data as base64-encoded string; |
| * 'base64-url-safe' represents binary data as base64-url-safe-encoded |
| * string; 'hex' represents binary data as hex-encoded (base16) string |
| */ |
| private String binaryHandlingMode = "bytes"; |
| /** |
| * 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). |
| */ |
| private Integer binlogBufferSize = 0; |
| /** |
| * Regular expressions matching columns to exclude from change events |
| */ |
| private String columnExcludeList; |
| /** |
| * Regular expressions matching columns to include in change events |
| */ |
| private String columnIncludeList; |
| /** |
| * A comma-separated list of regular expressions matching fully-qualified |
| * names of columns that adds the columns original type and original length |
| * as parameters to the corresponding field schemas in the emitted change |
| * records. |
| */ |
| private String columnPropagateSourceType; |
| /** |
| * Whether a separate thread should be used to ensure the connection is kept |
| * alive. |
| */ |
| private Boolean connectKeepAlive = true; |
| /** |
| * Interval for connection checking if keep alive thread is used, given in |
| * milliseconds Defaults to 1 minute (60,000 ms). The option is a long type. |
| */ |
| private Long connectKeepAliveIntervalMs = 60000L; |
| /** |
| * Specifies the connection adapter to be used |
| */ |
| private String connectorAdapter = "mysql"; |
| /** |
| * Maximum time to wait after trying to connect to the database before |
| * timing out, given in milliseconds. Defaults to 30 seconds (30,000 ms). |
| * The option is a int type. |
| */ |
| private Integer connectTimeoutMs = 30000; |
| /** |
| * Optional list of custom converters that would be used instead of default |
| * ones. The converters are defined using '.type' config option and |
| * configured using options '.' |
| */ |
| private String converters; |
| /** |
| * The custom metric tags will accept key-value pairs to customize the MBean |
| * object name which should be appended the end of regular name, each key |
| * would represent a tag for the MBean object name, and the corresponding |
| * value would be the value of that tag the key is. For example: k1=v1,k2=v2 |
| */ |
| private String customMetricTags; |
| /** |
| * A comma-separated list of regular expressions that match database names |
| * to be excluded from monitoring |
| */ |
| private String databaseExcludeList; |
| /** |
| * Resolvable hostname or IP address of the database server. |
| */ |
| private String databaseHostname; |
| /** |
| * The databases for which changes are to be captured |
| */ |
| private String databaseIncludeList; |
| /** |
| * 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. |
| */ |
| private String databaseInitialStatements; |
| /** |
| * JDBC Driver class name used to connect to the MySQL database server. |
| */ |
| private String databaseJdbcDriver = "com.mysql.cj.jdbc.Driver"; |
| /** |
| * Password of the database user to be used when connecting to the database. |
| */ |
| private String databasePassword; |
| /** |
| * Port of the database server. |
| */ |
| private Integer databasePort = 3306; |
| /** |
| * 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. |
| */ |
| private Long databaseServerId; |
| /** |
| * 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. |
| */ |
| private Long databaseServerIdOffset = 10000L; |
| /** |
| * The location of the key store file. This is optional and can be used for |
| * two-way authentication between the client and the MySQL Server. |
| */ |
| private String databaseSslKeystore; |
| /** |
| * The password for the key store file. This is optional and only needed if |
| * 'database.ssl.keystore' is configured. |
| */ |
| private String databaseSslKeystorePassword; |
| /** |
| * Whether to use an encrypted connection to MySQL. Options include: |
| * 'disabled' to use an unencrypted connection; 'preferred' (the default) 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. |
| */ |
| private String databaseSslMode = "preferred"; |
| /** |
| * The location of the trust store file for the server certificate |
| * verification. |
| */ |
| private String databaseSslTruststore; |
| /** |
| * The password for the trust store file. Used to check the integrity of the |
| * truststore, and unlock the truststore. |
| */ |
| private String databaseSslTruststorePassword; |
| /** |
| * Name of the database user to be used when connecting to the database. |
| */ |
| private String databaseUser; |
| /** |
| * A comma-separated list of regular expressions matching the |
| * database-specific data type names that adds the data type's original type |
| * and original length as parameters to the corresponding field schemas in |
| * the emitted change records. |
| */ |
| private String datatypePropagateSourceType; |
| /** |
| * 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. |
| */ |
| private String decimalHandlingMode = "precise"; |
| /** |
| * 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 |
| */ |
| private Boolean enableTimeAdjuster = true; |
| /** |
| * The maximum number of retries on connection errors before failing (-1 = |
| * no limit, 0 = disabled, 0 = num of retries). |
| */ |
| private Integer errorsMaxRetries = -1; |
| /** |
| * 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. |
| */ |
| private String eventDeserializationFailureHandlingMode = "fail"; |
| /** |
| * Specify how failures during processing of events (i.e. when encountering |
| * a corrupted event) should be handled, including: 'fail' (the default) an |
| * exception indicating the problematic event and its position is raised, |
| * causing the connector to be stopped; 'warn' the problematic event and its |
| * position will be logged and the event will be skipped; 'ignore' the |
| * problematic event will be skipped. |
| */ |
| private String eventProcessingFailureHandlingMode = "fail"; |
| /** |
| * The source UUIDs used to exclude GTID ranges when determine the starting |
| * position in the MySQL server's binlog. |
| */ |
| private String gtidSourceExcludes; |
| /** |
| * 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. |
| */ |
| private Boolean gtidSourceFilterDmlEvents = true; |
| /** |
| * The source UUIDs used to include GTID ranges when determine the starting |
| * position in the MySQL server's binlog. |
| */ |
| private String gtidSourceIncludes; |
| /** |
| * The query executed with every heartbeat. |
| */ |
| private String heartbeatActionQuery; |
| /** |
| * 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 int |
| * type. |
| */ |
| private Integer heartbeatIntervalMs = 0; |
| /** |
| * The prefix that is used to name heartbeat topics.Defaults to |
| * __debezium-heartbeat. |
| */ |
| private String heartbeatTopicsPrefix = "__debezium-heartbeat"; |
| /** |
| * 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. If |
| * using MariaDB, configure the binlog_annotate_row_events option must be |
| * set to ON. Query will not be present for events generated from snapshot. |
| * WARNING: Enabling this option may expose tables or fields explicitly |
| * excluded or masked by including the original SQL statement in the change |
| * event. For this reason the default value is 'false'. |
| */ |
| private Boolean includeQuery = false; |
| /** |
| * 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 include logical description of the new schema and optionally |
| * the DDL statement(s). The default is 'true'. This is independent of how |
| * the connector internally records database schema history. |
| */ |
| private Boolean includeSchemaChanges = true; |
| /** |
| * Whether the connector parse table and column's comment to metadata |
| * object. Note: Enable this option will bring the implications on memory |
| * usage. The number and size of ColumnImpl objects is what largely impacts |
| * how much memory is consumed by the Debezium connectors, and adding a |
| * String to each of them can potentially be quite heavy. The default is |
| * 'false'. |
| */ |
| private Boolean includeSchemaComments = false; |
| /** |
| * 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; |
| * 'skip' the problematic event will be skipped. |
| */ |
| private String inconsistentSchemaHandlingMode = "fail"; |
| /** |
| * Detect schema change during an incremental snapshot and re-select a |
| * current chunk to avoid locking DDLs. Note that changes to a primary key |
| * are not supported and can cause incorrect results if performed during an |
| * incremental snapshot. Another limitation is that if a schema change |
| * affects only columns' default values, then the change won't be detected |
| * until the DDL is processed from the binlog stream. This doesn't affect |
| * the snapshot events' values, but the schema of snapshot events may have |
| * outdated defaults. |
| */ |
| private Boolean incrementalSnapshotAllowSchemaChanges = false; |
| /** |
| * The maximum size of chunk (number of documents/rows) for incremental |
| * snapshotting |
| */ |
| private Integer incrementalSnapshotChunkSize = 1024; |
| /** |
| * Specify the strategy used for watermarking during an incremental |
| * snapshot: 'insert_insert' both open and close signal is written into |
| * signal data collection (default); 'insert_delete' only open signal is |
| * written on signal data collection, the close will delete the relative |
| * open signal; |
| */ |
| private String incrementalSnapshotWatermarkingStrategy = "INSERT_INSERT"; |
| /** |
| * Maximum size of each batch of source records. Defaults to 2048. |
| */ |
| private Integer maxBatchSize = 2048; |
| /** |
| * 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. |
| */ |
| private Integer maxQueueSize = 8192; |
| /** |
| * Maximum size of the queue in bytes for change events read from the |
| * database log but not yet recorded or forwarded. Defaults to 0. Mean the |
| * feature is not enabled |
| */ |
| private Long maxQueueSizeInBytes = 0L; |
| /** |
| * 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 |
| */ |
| private String messageKeyColumns; |
| /** |
| * The number of rows a table must contain to stream results rather than |
| * pull all into memory during snapshots. Defaults to 1,000. Use 0 to stream |
| * all results and completely avoid checking the size of each table. |
| */ |
| private Integer minRowCountToStreamResults = 1000; |
| /** |
| * List of notification channels names that are enabled. |
| */ |
| private String notificationEnabledChannels; |
| /** |
| * The name of the topic for the notifications. This is required in case |
| * 'sink' is in the list of enabled channels |
| */ |
| private String notificationSinkTopicName; |
| /** |
| * Time to wait for new change events to appear after receiving no events, |
| * given in milliseconds. Defaults to 500 ms. The option is a long type. |
| */ |
| private Long pollIntervalMs = 500L; |
| /** |
| * Optional list of post processors. The processors are defined using |
| * '.type' config option and configured using options '' |
| */ |
| private String postProcessors; |
| /** |
| * Enables transaction metadata extraction together with event counting |
| */ |
| private Boolean provideTransactionMetadata = false; |
| /** |
| * The maximum number of records that should be loaded into memory while |
| * streaming. A value of '0' uses the default JDBC fetch size. |
| */ |
| private Integer queryFetchSize = 0; |
| /** |
| * Time to wait before restarting connector after retriable exception |
| * occurs. Defaults to 10000ms. The option is a long type. |
| */ |
| private Long retriableRestartConnectorWaitMs = 10000L; |
| /** |
| * The name of the SchemaHistory class that should be used to store and |
| * recover database schema changes. The configuration properties for the |
| * history are prefixed with the 'schema.history.internal.' string. |
| */ |
| private String schemaHistoryInternal = "io.debezium.storage.kafka.history.KafkaSchemaHistory"; |
| /** |
| * The path to the file that will be used to record the database schema |
| * history |
| */ |
| private String schemaHistoryInternalFileFilename; |
| /** |
| * 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. |
| */ |
| private Boolean schemaHistoryInternalSkipUnparseableDdl = false; |
| /** |
| * Controls what DDL will Debezium store in database schema history. By |
| * default (true) only DDL that manipulates a table from captured |
| * schema/database will be stored. If set to false, then Debezium will store |
| * all incoming DDL statements. |
| */ |
| private Boolean schemaHistoryInternalStoreOnlyCapturedDatabasesDdl = true; |
| /** |
| * Controls what DDL will Debezium store in database schema history. By |
| * default (false) Debezium will store all incoming DDL statements. If set |
| * to true, then only DDL that manipulates a captured table will be stored. |
| */ |
| private Boolean schemaHistoryInternalStoreOnlyCapturedTablesDdl = false; |
| /** |
| * Specify how schema names should be adjusted for compatibility with the |
| * message converter used by the connector, including: 'avro' replaces the |
| * characters that cannot be used in the Avro type name with underscore; |
| * 'avro_unicode' replaces the underscore or characters that cannot be used |
| * in the Avro type name with corresponding unicode like _uxxxx. Note: _ is |
| * an escape sequence like backslash in Java;'none' does not apply any |
| * adjustment (default) |
| */ |
| private String schemaNameAdjustmentMode = "none"; |
| /** |
| * The name of the data collection that is used to send signals/commands to |
| * Debezium. Signaling is disabled when not set. |
| */ |
| private String signalDataCollection; |
| /** |
| * List of channels names that are enabled. Source channel is enabled by |
| * default |
| */ |
| private String signalEnabledChannels = "source"; |
| /** |
| * Interval for looking for new signals in registered channels, given in |
| * milliseconds. Defaults to 5 seconds. The option is a long type. |
| */ |
| private Long signalPollIntervalMs = 5000L; |
| /** |
| * The comma-separated list of operations to skip during streaming, defined |
| * as: 'c' for inserts/create; 'u' for updates; 'd' for deletes, 't' for |
| * truncates, and 'none' to indicate nothing skipped. By default, only |
| * truncate operations will be skipped. |
| */ |
| private String skippedOperations = "t"; |
| /** |
| * A delay period before a snapshot will begin, given in milliseconds. |
| * Defaults to 0 ms. The option is a long type. |
| */ |
| private Long snapshotDelayMs = 0L; |
| /** |
| * The maximum number of records that should be loaded into memory while |
| * performing a snapshot. |
| */ |
| private Integer snapshotFetchSize; |
| /** |
| * This setting must be set to specify a list of tables/collections whose |
| * snapshot must be taken on creating or restarting the connector. |
| */ |
| private String snapshotIncludeCollectionList; |
| /** |
| * 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. |
| */ |
| private String snapshotLockingMode = "minimal"; |
| /** |
| * The maximum number of millis to wait for table locks at the beginning of |
| * a snapshot. If locks cannot be acquired in this time frame, the snapshot |
| * will be aborted. Defaults to 10 seconds. The option is a long type. |
| */ |
| private Long snapshotLockTimeoutMs = 10000L; |
| /** |
| * The maximum number of threads used to perform the snapshot. Defaults to |
| * 1. |
| */ |
| private Integer snapshotMaxThreads = 1; |
| /** |
| * The criteria for running a snapshot upon startup of the connector. Select |
| * one of the following snapshot options: 'when_needed': On startup, the |
| * connector runs a snapshot if one is needed.; 'schema_only': If the |
| * connector does not detect any offsets for the logical server name, it |
| * runs a snapshot that captures only the schema (table structures), but not |
| * any table data. After the snapshot completes, the connector begins to |
| * stream changes from the binlog.; 'schema_only_recovery': The connector |
| * performs a snapshot that captures only the database schema history. The |
| * connector then transitions back to streaming. Use this setting to restore |
| * a corrupted or lost database schema history topic. Do not use if the |
| * database schema was modified after the connector stopped.; 'initial' |
| * (default): If the connector does not detect any offsets for the logical |
| * server name, it runs a snapshot that captures the current full state of |
| * the configured tables. After the snapshot completes, the connector begins |
| * to stream changes from the binlog.; 'initial_only': The connector |
| * performs a snapshot as it does for the 'initial' option, but after the |
| * connector completes the snapshot, it stops, and does not stream changes |
| * from the binlog.; 'never': The connector does not run a snapshot. Upon |
| * first startup, the connector immediately begins reading 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. |
| */ |
| private String snapshotMode = "initial"; |
| /** |
| * 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. |
| */ |
| private String snapshotNewTables = "off"; |
| /** |
| * This property contains a comma-separated list of fully-qualified tables |
| * (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME), depending on the |
| * specific 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. |
| */ |
| private String snapshotSelectStatementOverrides; |
| /** |
| * Controls the order in which tables are processed in the initial snapshot. |
| * A descending value will order the tables by row count descending. A |
| * ascending value will order the tables by row count ascending. A value of |
| * disabled (the default) will disable ordering by row count. |
| */ |
| private String snapshotTablesOrderByRowCount = "disabled"; |
| /** |
| * The name of the SourceInfoStructMaker class that returns SourceInfo |
| * schema and struct. |
| */ |
| private String sourceinfoStructMaker = "io.debezium.connector.mysql.MySqlSourceInfoStructMaker"; |
| /** |
| * A comma-separated list of regular expressions that match the |
| * fully-qualified names of tables to be excluded from monitoring |
| */ |
| private String tableExcludeList; |
| /** |
| * Flag specifying whether built-in tables should be ignored. |
| */ |
| private Boolean tableIgnoreBuiltin = true; |
| /** |
| * The tables for which changes are to be captured |
| */ |
| private String tableIncludeList; |
| /** |
| * 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. |
| */ |
| private String timePrecisionMode = "adaptive_time_microseconds"; |
| /** |
| * Whether delete operations should be represented by a delete event and a |
| * subsequent tombstone 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. |
| */ |
| private Boolean tombstonesOnDelete = false; |
| /** |
| * The name of the TopicNamingStrategy class that should be used to |
| * determine the topic name for data change, schema change, transaction, |
| * heartbeat event etc. |
| */ |
| private String topicNamingStrategy = "io.debezium.schema.SchemaTopicNamingStrategy"; |
| /** |
| * Topic prefix that identifies and provides a namespace for the particular |
| * database server/cluster is capturing changes. The topic prefix should be |
| * unique across all other connectors, since it is used as a prefix for all |
| * Kafka topic names that receive events emitted by this connector. Only |
| * alphanumeric characters, hyphens, dots and underscores must be accepted. |
| */ |
| private String topicPrefix; |
| |
| public Map<String, Object> getAdditionalProperties() { |
| return additionalProperties; |
| } |
| |
| public void setAdditionalProperties(Map<String, Object> additionalProperties) { |
| this.additionalProperties = additionalProperties; |
| } |
| |
| public Boolean getBridgeErrorHandler() { |
| return bridgeErrorHandler; |
| } |
| |
| public void setBridgeErrorHandler(Boolean bridgeErrorHandler) { |
| this.bridgeErrorHandler = bridgeErrorHandler; |
| } |
| |
| public MySqlConnectorEmbeddedDebeziumConfiguration getConfiguration() { |
| return configuration; |
| } |
| |
| public void setConfiguration( |
| MySqlConnectorEmbeddedDebeziumConfiguration configuration) { |
| this.configuration = configuration; |
| } |
| |
| public String getInternalKeyConverter() { |
| return internalKeyConverter; |
| } |
| |
| public void setInternalKeyConverter(String internalKeyConverter) { |
| this.internalKeyConverter = internalKeyConverter; |
| } |
| |
| public String getInternalValueConverter() { |
| return internalValueConverter; |
| } |
| |
| public void setInternalValueConverter(String internalValueConverter) { |
| this.internalValueConverter = internalValueConverter; |
| } |
| |
| public String getOffsetCommitPolicy() { |
| return offsetCommitPolicy; |
| } |
| |
| public void setOffsetCommitPolicy(String offsetCommitPolicy) { |
| this.offsetCommitPolicy = offsetCommitPolicy; |
| } |
| |
| public Long getOffsetCommitTimeoutMs() { |
| return offsetCommitTimeoutMs; |
| } |
| |
| public void setOffsetCommitTimeoutMs(Long offsetCommitTimeoutMs) { |
| this.offsetCommitTimeoutMs = offsetCommitTimeoutMs; |
| } |
| |
| public Long getOffsetFlushIntervalMs() { |
| return offsetFlushIntervalMs; |
| } |
| |
| public void setOffsetFlushIntervalMs(Long offsetFlushIntervalMs) { |
| this.offsetFlushIntervalMs = offsetFlushIntervalMs; |
| } |
| |
| public String getOffsetStorage() { |
| return offsetStorage; |
| } |
| |
| public void setOffsetStorage(String offsetStorage) { |
| this.offsetStorage = offsetStorage; |
| } |
| |
| public String getOffsetStorageFileName() { |
| return offsetStorageFileName; |
| } |
| |
| public void setOffsetStorageFileName(String offsetStorageFileName) { |
| this.offsetStorageFileName = offsetStorageFileName; |
| } |
| |
| public Integer getOffsetStoragePartitions() { |
| return offsetStoragePartitions; |
| } |
| |
| public void setOffsetStoragePartitions(Integer offsetStoragePartitions) { |
| this.offsetStoragePartitions = offsetStoragePartitions; |
| } |
| |
| public Integer getOffsetStorageReplicationFactor() { |
| return offsetStorageReplicationFactor; |
| } |
| |
| public void setOffsetStorageReplicationFactor( |
| Integer offsetStorageReplicationFactor) { |
| this.offsetStorageReplicationFactor = offsetStorageReplicationFactor; |
| } |
| |
| public String getOffsetStorageTopic() { |
| return offsetStorageTopic; |
| } |
| |
| public void setOffsetStorageTopic(String offsetStorageTopic) { |
| this.offsetStorageTopic = offsetStorageTopic; |
| } |
| |
| public Boolean getAutowiredEnabled() { |
| return autowiredEnabled; |
| } |
| |
| public void setAutowiredEnabled(Boolean autowiredEnabled) { |
| this.autowiredEnabled = autowiredEnabled; |
| } |
| |
| public String getBigintUnsignedHandlingMode() { |
| return bigintUnsignedHandlingMode; |
| } |
| |
| public void setBigintUnsignedHandlingMode(String bigintUnsignedHandlingMode) { |
| this.bigintUnsignedHandlingMode = bigintUnsignedHandlingMode; |
| } |
| |
| public String getBinaryHandlingMode() { |
| return binaryHandlingMode; |
| } |
| |
| public void setBinaryHandlingMode(String binaryHandlingMode) { |
| this.binaryHandlingMode = binaryHandlingMode; |
| } |
| |
| public Integer getBinlogBufferSize() { |
| return binlogBufferSize; |
| } |
| |
| public void setBinlogBufferSize(Integer binlogBufferSize) { |
| this.binlogBufferSize = binlogBufferSize; |
| } |
| |
| public String getColumnExcludeList() { |
| return columnExcludeList; |
| } |
| |
| public void setColumnExcludeList(String columnExcludeList) { |
| this.columnExcludeList = columnExcludeList; |
| } |
| |
| public String getColumnIncludeList() { |
| return columnIncludeList; |
| } |
| |
| public void setColumnIncludeList(String columnIncludeList) { |
| this.columnIncludeList = columnIncludeList; |
| } |
| |
| public String getColumnPropagateSourceType() { |
| return columnPropagateSourceType; |
| } |
| |
| public void setColumnPropagateSourceType(String columnPropagateSourceType) { |
| this.columnPropagateSourceType = columnPropagateSourceType; |
| } |
| |
| public Boolean getConnectKeepAlive() { |
| return connectKeepAlive; |
| } |
| |
| public void setConnectKeepAlive(Boolean connectKeepAlive) { |
| this.connectKeepAlive = connectKeepAlive; |
| } |
| |
| public Long getConnectKeepAliveIntervalMs() { |
| return connectKeepAliveIntervalMs; |
| } |
| |
| public void setConnectKeepAliveIntervalMs(Long connectKeepAliveIntervalMs) { |
| this.connectKeepAliveIntervalMs = connectKeepAliveIntervalMs; |
| } |
| |
| public String getConnectorAdapter() { |
| return connectorAdapter; |
| } |
| |
| public void setConnectorAdapter(String connectorAdapter) { |
| this.connectorAdapter = connectorAdapter; |
| } |
| |
| public Integer getConnectTimeoutMs() { |
| return connectTimeoutMs; |
| } |
| |
| public void setConnectTimeoutMs(Integer connectTimeoutMs) { |
| this.connectTimeoutMs = connectTimeoutMs; |
| } |
| |
| public String getConverters() { |
| return converters; |
| } |
| |
| public void setConverters(String converters) { |
| this.converters = converters; |
| } |
| |
| public String getCustomMetricTags() { |
| return customMetricTags; |
| } |
| |
| public void setCustomMetricTags(String customMetricTags) { |
| this.customMetricTags = customMetricTags; |
| } |
| |
| public String getDatabaseExcludeList() { |
| return databaseExcludeList; |
| } |
| |
| public void setDatabaseExcludeList(String databaseExcludeList) { |
| this.databaseExcludeList = databaseExcludeList; |
| } |
| |
| public String getDatabaseHostname() { |
| return databaseHostname; |
| } |
| |
| public void setDatabaseHostname(String databaseHostname) { |
| this.databaseHostname = databaseHostname; |
| } |
| |
| public String getDatabaseIncludeList() { |
| return databaseIncludeList; |
| } |
| |
| public void setDatabaseIncludeList(String databaseIncludeList) { |
| this.databaseIncludeList = databaseIncludeList; |
| } |
| |
| public String getDatabaseInitialStatements() { |
| return databaseInitialStatements; |
| } |
| |
| public void setDatabaseInitialStatements(String databaseInitialStatements) { |
| this.databaseInitialStatements = databaseInitialStatements; |
| } |
| |
| public String getDatabaseJdbcDriver() { |
| return databaseJdbcDriver; |
| } |
| |
| public void setDatabaseJdbcDriver(String databaseJdbcDriver) { |
| this.databaseJdbcDriver = databaseJdbcDriver; |
| } |
| |
| public String getDatabasePassword() { |
| return databasePassword; |
| } |
| |
| public void setDatabasePassword(String databasePassword) { |
| this.databasePassword = databasePassword; |
| } |
| |
| public Integer getDatabasePort() { |
| return databasePort; |
| } |
| |
| public void setDatabasePort(Integer databasePort) { |
| this.databasePort = databasePort; |
| } |
| |
| public Long getDatabaseServerId() { |
| return databaseServerId; |
| } |
| |
| public void setDatabaseServerId(Long databaseServerId) { |
| this.databaseServerId = databaseServerId; |
| } |
| |
| public Long getDatabaseServerIdOffset() { |
| return databaseServerIdOffset; |
| } |
| |
| public void setDatabaseServerIdOffset(Long databaseServerIdOffset) { |
| this.databaseServerIdOffset = databaseServerIdOffset; |
| } |
| |
| public String getDatabaseSslKeystore() { |
| return databaseSslKeystore; |
| } |
| |
| public void setDatabaseSslKeystore(String databaseSslKeystore) { |
| this.databaseSslKeystore = databaseSslKeystore; |
| } |
| |
| public String getDatabaseSslKeystorePassword() { |
| return databaseSslKeystorePassword; |
| } |
| |
| public void setDatabaseSslKeystorePassword( |
| String databaseSslKeystorePassword) { |
| this.databaseSslKeystorePassword = databaseSslKeystorePassword; |
| } |
| |
| public String getDatabaseSslMode() { |
| return databaseSslMode; |
| } |
| |
| public void setDatabaseSslMode(String databaseSslMode) { |
| this.databaseSslMode = databaseSslMode; |
| } |
| |
| public String getDatabaseSslTruststore() { |
| return databaseSslTruststore; |
| } |
| |
| public void setDatabaseSslTruststore(String databaseSslTruststore) { |
| this.databaseSslTruststore = databaseSslTruststore; |
| } |
| |
| public String getDatabaseSslTruststorePassword() { |
| return databaseSslTruststorePassword; |
| } |
| |
| public void setDatabaseSslTruststorePassword( |
| String databaseSslTruststorePassword) { |
| this.databaseSslTruststorePassword = databaseSslTruststorePassword; |
| } |
| |
| public String getDatabaseUser() { |
| return databaseUser; |
| } |
| |
| public void setDatabaseUser(String databaseUser) { |
| this.databaseUser = databaseUser; |
| } |
| |
| public String getDatatypePropagateSourceType() { |
| return datatypePropagateSourceType; |
| } |
| |
| public void setDatatypePropagateSourceType( |
| String datatypePropagateSourceType) { |
| this.datatypePropagateSourceType = datatypePropagateSourceType; |
| } |
| |
| public String getDecimalHandlingMode() { |
| return decimalHandlingMode; |
| } |
| |
| public void setDecimalHandlingMode(String decimalHandlingMode) { |
| this.decimalHandlingMode = decimalHandlingMode; |
| } |
| |
| public Boolean getEnableTimeAdjuster() { |
| return enableTimeAdjuster; |
| } |
| |
| public void setEnableTimeAdjuster(Boolean enableTimeAdjuster) { |
| this.enableTimeAdjuster = enableTimeAdjuster; |
| } |
| |
| public Integer getErrorsMaxRetries() { |
| return errorsMaxRetries; |
| } |
| |
| public void setErrorsMaxRetries(Integer errorsMaxRetries) { |
| this.errorsMaxRetries = errorsMaxRetries; |
| } |
| |
| public String getEventDeserializationFailureHandlingMode() { |
| return eventDeserializationFailureHandlingMode; |
| } |
| |
| public void setEventDeserializationFailureHandlingMode( |
| String eventDeserializationFailureHandlingMode) { |
| this.eventDeserializationFailureHandlingMode = eventDeserializationFailureHandlingMode; |
| } |
| |
| public String getEventProcessingFailureHandlingMode() { |
| return eventProcessingFailureHandlingMode; |
| } |
| |
| public void setEventProcessingFailureHandlingMode( |
| String eventProcessingFailureHandlingMode) { |
| this.eventProcessingFailureHandlingMode = eventProcessingFailureHandlingMode; |
| } |
| |
| public String getGtidSourceExcludes() { |
| return gtidSourceExcludes; |
| } |
| |
| public void setGtidSourceExcludes(String gtidSourceExcludes) { |
| this.gtidSourceExcludes = gtidSourceExcludes; |
| } |
| |
| public Boolean getGtidSourceFilterDmlEvents() { |
| return gtidSourceFilterDmlEvents; |
| } |
| |
| public void setGtidSourceFilterDmlEvents(Boolean gtidSourceFilterDmlEvents) { |
| this.gtidSourceFilterDmlEvents = gtidSourceFilterDmlEvents; |
| } |
| |
| public String getGtidSourceIncludes() { |
| return gtidSourceIncludes; |
| } |
| |
| public void setGtidSourceIncludes(String gtidSourceIncludes) { |
| this.gtidSourceIncludes = gtidSourceIncludes; |
| } |
| |
| public String getHeartbeatActionQuery() { |
| return heartbeatActionQuery; |
| } |
| |
| public void setHeartbeatActionQuery(String heartbeatActionQuery) { |
| this.heartbeatActionQuery = heartbeatActionQuery; |
| } |
| |
| public Integer getHeartbeatIntervalMs() { |
| return heartbeatIntervalMs; |
| } |
| |
| public void setHeartbeatIntervalMs(Integer heartbeatIntervalMs) { |
| this.heartbeatIntervalMs = heartbeatIntervalMs; |
| } |
| |
| public String getHeartbeatTopicsPrefix() { |
| return heartbeatTopicsPrefix; |
| } |
| |
| public void setHeartbeatTopicsPrefix(String heartbeatTopicsPrefix) { |
| this.heartbeatTopicsPrefix = heartbeatTopicsPrefix; |
| } |
| |
| public Boolean getIncludeQuery() { |
| return includeQuery; |
| } |
| |
| public void setIncludeQuery(Boolean includeQuery) { |
| this.includeQuery = includeQuery; |
| } |
| |
| public Boolean getIncludeSchemaChanges() { |
| return includeSchemaChanges; |
| } |
| |
| public void setIncludeSchemaChanges(Boolean includeSchemaChanges) { |
| this.includeSchemaChanges = includeSchemaChanges; |
| } |
| |
| public Boolean getIncludeSchemaComments() { |
| return includeSchemaComments; |
| } |
| |
| public void setIncludeSchemaComments(Boolean includeSchemaComments) { |
| this.includeSchemaComments = includeSchemaComments; |
| } |
| |
| public String getInconsistentSchemaHandlingMode() { |
| return inconsistentSchemaHandlingMode; |
| } |
| |
| public void setInconsistentSchemaHandlingMode( |
| String inconsistentSchemaHandlingMode) { |
| this.inconsistentSchemaHandlingMode = inconsistentSchemaHandlingMode; |
| } |
| |
| public Boolean getIncrementalSnapshotAllowSchemaChanges() { |
| return incrementalSnapshotAllowSchemaChanges; |
| } |
| |
| public void setIncrementalSnapshotAllowSchemaChanges( |
| Boolean incrementalSnapshotAllowSchemaChanges) { |
| this.incrementalSnapshotAllowSchemaChanges = incrementalSnapshotAllowSchemaChanges; |
| } |
| |
| public Integer getIncrementalSnapshotChunkSize() { |
| return incrementalSnapshotChunkSize; |
| } |
| |
| public void setIncrementalSnapshotChunkSize( |
| Integer incrementalSnapshotChunkSize) { |
| this.incrementalSnapshotChunkSize = incrementalSnapshotChunkSize; |
| } |
| |
| public String getIncrementalSnapshotWatermarkingStrategy() { |
| return incrementalSnapshotWatermarkingStrategy; |
| } |
| |
| public void setIncrementalSnapshotWatermarkingStrategy( |
| String incrementalSnapshotWatermarkingStrategy) { |
| this.incrementalSnapshotWatermarkingStrategy = incrementalSnapshotWatermarkingStrategy; |
| } |
| |
| public Integer getMaxBatchSize() { |
| return maxBatchSize; |
| } |
| |
| public void setMaxBatchSize(Integer maxBatchSize) { |
| this.maxBatchSize = maxBatchSize; |
| } |
| |
| public Integer getMaxQueueSize() { |
| return maxQueueSize; |
| } |
| |
| public void setMaxQueueSize(Integer maxQueueSize) { |
| this.maxQueueSize = maxQueueSize; |
| } |
| |
| public Long getMaxQueueSizeInBytes() { |
| return maxQueueSizeInBytes; |
| } |
| |
| public void setMaxQueueSizeInBytes(Long maxQueueSizeInBytes) { |
| this.maxQueueSizeInBytes = maxQueueSizeInBytes; |
| } |
| |
| public String getMessageKeyColumns() { |
| return messageKeyColumns; |
| } |
| |
| public void setMessageKeyColumns(String messageKeyColumns) { |
| this.messageKeyColumns = messageKeyColumns; |
| } |
| |
| public Integer getMinRowCountToStreamResults() { |
| return minRowCountToStreamResults; |
| } |
| |
| public void setMinRowCountToStreamResults(Integer minRowCountToStreamResults) { |
| this.minRowCountToStreamResults = minRowCountToStreamResults; |
| } |
| |
| public String getNotificationEnabledChannels() { |
| return notificationEnabledChannels; |
| } |
| |
| public void setNotificationEnabledChannels( |
| String notificationEnabledChannels) { |
| this.notificationEnabledChannels = notificationEnabledChannels; |
| } |
| |
| public String getNotificationSinkTopicName() { |
| return notificationSinkTopicName; |
| } |
| |
| public void setNotificationSinkTopicName(String notificationSinkTopicName) { |
| this.notificationSinkTopicName = notificationSinkTopicName; |
| } |
| |
| public Long getPollIntervalMs() { |
| return pollIntervalMs; |
| } |
| |
| public void setPollIntervalMs(Long pollIntervalMs) { |
| this.pollIntervalMs = pollIntervalMs; |
| } |
| |
| public String getPostProcessors() { |
| return postProcessors; |
| } |
| |
| public void setPostProcessors(String postProcessors) { |
| this.postProcessors = postProcessors; |
| } |
| |
| public Boolean getProvideTransactionMetadata() { |
| return provideTransactionMetadata; |
| } |
| |
| public void setProvideTransactionMetadata(Boolean provideTransactionMetadata) { |
| this.provideTransactionMetadata = provideTransactionMetadata; |
| } |
| |
| public Integer getQueryFetchSize() { |
| return queryFetchSize; |
| } |
| |
| public void setQueryFetchSize(Integer queryFetchSize) { |
| this.queryFetchSize = queryFetchSize; |
| } |
| |
| public Long getRetriableRestartConnectorWaitMs() { |
| return retriableRestartConnectorWaitMs; |
| } |
| |
| public void setRetriableRestartConnectorWaitMs( |
| Long retriableRestartConnectorWaitMs) { |
| this.retriableRestartConnectorWaitMs = retriableRestartConnectorWaitMs; |
| } |
| |
| public String getSchemaHistoryInternal() { |
| return schemaHistoryInternal; |
| } |
| |
| public void setSchemaHistoryInternal(String schemaHistoryInternal) { |
| this.schemaHistoryInternal = schemaHistoryInternal; |
| } |
| |
| public String getSchemaHistoryInternalFileFilename() { |
| return schemaHistoryInternalFileFilename; |
| } |
| |
| public void setSchemaHistoryInternalFileFilename( |
| String schemaHistoryInternalFileFilename) { |
| this.schemaHistoryInternalFileFilename = schemaHistoryInternalFileFilename; |
| } |
| |
| public Boolean getSchemaHistoryInternalSkipUnparseableDdl() { |
| return schemaHistoryInternalSkipUnparseableDdl; |
| } |
| |
| public void setSchemaHistoryInternalSkipUnparseableDdl( |
| Boolean schemaHistoryInternalSkipUnparseableDdl) { |
| this.schemaHistoryInternalSkipUnparseableDdl = schemaHistoryInternalSkipUnparseableDdl; |
| } |
| |
| public Boolean getSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl() { |
| return schemaHistoryInternalStoreOnlyCapturedDatabasesDdl; |
| } |
| |
| public void setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl( |
| Boolean schemaHistoryInternalStoreOnlyCapturedDatabasesDdl) { |
| this.schemaHistoryInternalStoreOnlyCapturedDatabasesDdl = schemaHistoryInternalStoreOnlyCapturedDatabasesDdl; |
| } |
| |
| public Boolean getSchemaHistoryInternalStoreOnlyCapturedTablesDdl() { |
| return schemaHistoryInternalStoreOnlyCapturedTablesDdl; |
| } |
| |
| public void setSchemaHistoryInternalStoreOnlyCapturedTablesDdl( |
| Boolean schemaHistoryInternalStoreOnlyCapturedTablesDdl) { |
| this.schemaHistoryInternalStoreOnlyCapturedTablesDdl = schemaHistoryInternalStoreOnlyCapturedTablesDdl; |
| } |
| |
| public String getSchemaNameAdjustmentMode() { |
| return schemaNameAdjustmentMode; |
| } |
| |
| public void setSchemaNameAdjustmentMode(String schemaNameAdjustmentMode) { |
| this.schemaNameAdjustmentMode = schemaNameAdjustmentMode; |
| } |
| |
| public String getSignalDataCollection() { |
| return signalDataCollection; |
| } |
| |
| public void setSignalDataCollection(String signalDataCollection) { |
| this.signalDataCollection = signalDataCollection; |
| } |
| |
| public String getSignalEnabledChannels() { |
| return signalEnabledChannels; |
| } |
| |
| public void setSignalEnabledChannels(String signalEnabledChannels) { |
| this.signalEnabledChannels = signalEnabledChannels; |
| } |
| |
| public Long getSignalPollIntervalMs() { |
| return signalPollIntervalMs; |
| } |
| |
| public void setSignalPollIntervalMs(Long signalPollIntervalMs) { |
| this.signalPollIntervalMs = signalPollIntervalMs; |
| } |
| |
| public String getSkippedOperations() { |
| return skippedOperations; |
| } |
| |
| public void setSkippedOperations(String skippedOperations) { |
| this.skippedOperations = skippedOperations; |
| } |
| |
| public Long getSnapshotDelayMs() { |
| return snapshotDelayMs; |
| } |
| |
| public void setSnapshotDelayMs(Long snapshotDelayMs) { |
| this.snapshotDelayMs = snapshotDelayMs; |
| } |
| |
| public Integer getSnapshotFetchSize() { |
| return snapshotFetchSize; |
| } |
| |
| public void setSnapshotFetchSize(Integer snapshotFetchSize) { |
| this.snapshotFetchSize = snapshotFetchSize; |
| } |
| |
| public String getSnapshotIncludeCollectionList() { |
| return snapshotIncludeCollectionList; |
| } |
| |
| public void setSnapshotIncludeCollectionList( |
| String snapshotIncludeCollectionList) { |
| this.snapshotIncludeCollectionList = snapshotIncludeCollectionList; |
| } |
| |
| public String getSnapshotLockingMode() { |
| return snapshotLockingMode; |
| } |
| |
| public void setSnapshotLockingMode(String snapshotLockingMode) { |
| this.snapshotLockingMode = snapshotLockingMode; |
| } |
| |
| public Long getSnapshotLockTimeoutMs() { |
| return snapshotLockTimeoutMs; |
| } |
| |
| public void setSnapshotLockTimeoutMs(Long snapshotLockTimeoutMs) { |
| this.snapshotLockTimeoutMs = snapshotLockTimeoutMs; |
| } |
| |
| public Integer getSnapshotMaxThreads() { |
| return snapshotMaxThreads; |
| } |
| |
| public void setSnapshotMaxThreads(Integer snapshotMaxThreads) { |
| this.snapshotMaxThreads = snapshotMaxThreads; |
| } |
| |
| public String getSnapshotMode() { |
| return snapshotMode; |
| } |
| |
| public void setSnapshotMode(String snapshotMode) { |
| this.snapshotMode = snapshotMode; |
| } |
| |
| public String getSnapshotNewTables() { |
| return snapshotNewTables; |
| } |
| |
| public void setSnapshotNewTables(String snapshotNewTables) { |
| this.snapshotNewTables = snapshotNewTables; |
| } |
| |
| public String getSnapshotSelectStatementOverrides() { |
| return snapshotSelectStatementOverrides; |
| } |
| |
| public void setSnapshotSelectStatementOverrides( |
| String snapshotSelectStatementOverrides) { |
| this.snapshotSelectStatementOverrides = snapshotSelectStatementOverrides; |
| } |
| |
| public String getSnapshotTablesOrderByRowCount() { |
| return snapshotTablesOrderByRowCount; |
| } |
| |
| public void setSnapshotTablesOrderByRowCount( |
| String snapshotTablesOrderByRowCount) { |
| this.snapshotTablesOrderByRowCount = snapshotTablesOrderByRowCount; |
| } |
| |
| public String getSourceinfoStructMaker() { |
| return sourceinfoStructMaker; |
| } |
| |
| public void setSourceinfoStructMaker(String sourceinfoStructMaker) { |
| this.sourceinfoStructMaker = sourceinfoStructMaker; |
| } |
| |
| public String getTableExcludeList() { |
| return tableExcludeList; |
| } |
| |
| public void setTableExcludeList(String tableExcludeList) { |
| this.tableExcludeList = tableExcludeList; |
| } |
| |
| public Boolean getTableIgnoreBuiltin() { |
| return tableIgnoreBuiltin; |
| } |
| |
| public void setTableIgnoreBuiltin(Boolean tableIgnoreBuiltin) { |
| this.tableIgnoreBuiltin = tableIgnoreBuiltin; |
| } |
| |
| public String getTableIncludeList() { |
| return tableIncludeList; |
| } |
| |
| public void setTableIncludeList(String tableIncludeList) { |
| this.tableIncludeList = tableIncludeList; |
| } |
| |
| public String getTimePrecisionMode() { |
| return timePrecisionMode; |
| } |
| |
| public void setTimePrecisionMode(String timePrecisionMode) { |
| this.timePrecisionMode = timePrecisionMode; |
| } |
| |
| public Boolean getTombstonesOnDelete() { |
| return tombstonesOnDelete; |
| } |
| |
| public void setTombstonesOnDelete(Boolean tombstonesOnDelete) { |
| this.tombstonesOnDelete = tombstonesOnDelete; |
| } |
| |
| public String getTopicNamingStrategy() { |
| return topicNamingStrategy; |
| } |
| |
| public void setTopicNamingStrategy(String topicNamingStrategy) { |
| this.topicNamingStrategy = topicNamingStrategy; |
| } |
| |
| public String getTopicPrefix() { |
| return topicPrefix; |
| } |
| |
| public void setTopicPrefix(String topicPrefix) { |
| this.topicPrefix = topicPrefix; |
| } |
| } |