blob: 5ad09f47b7ca707acd86c69be9d1e616223ff6ef [file] [log] [blame]
/*
* 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.SqlServerConnectorEmbeddedDebeziumConfiguration;
import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**
* Capture changes from an SQL Server database.
*
* Generated by camel-package-maven-plugin - do not edit this file!
*/
@ConfigurationProperties(prefix = "camel.component.debezium-sqlserver")
public class DebeziumSqlserverComponentConfiguration
extends
ComponentConfigurationPropertiesCommon {
/**
* Whether to enable auto configuration of the debezium-sqlserver 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.SqlServerConnectorEmbeddedDebeziumConfiguration type.
*/
private SqlServerConnectorEmbeddedDebeziumConfiguration 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 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";
/**
* 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;
/**
* 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;
/**
* Resolvable hostname or IP address of the database server.
*/
private String databaseHostname;
/**
* The SQL Server instance name
*/
private String databaseInstance;
/**
* The names of the databases from which the connector should capture
* changes
*/
private String databaseNames;
/**
* Password of the database user to be used when connecting to the database.
*/
private String databasePassword;
/**
* Port of the database server.
*/
private Integer databasePort = 1433;
/**
* 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";
/**
* 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 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 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 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;
/**
* 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;
/**
* Add OPTION(RECOMPILE) on each SELECT statement during the incremental
* snapshot process. This prevents parameter sniffing but can cause CPU
* pressure on the source database.
*/
private Boolean incrementalSnapshotOptionRecompile = false;
/**
* 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;
/**
* This property can be used to reduce the connector memory usage footprint
* when changes are streamed from multiple tables per database.
*/
private Integer maxIterationTransactions = 0;
/**
* 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;
/**
* 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;
/**
* 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 = false;
/**
* 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 which transaction isolation level is used and how long the
* connector locks the captured tables. The default is 'repeatable_read',
* which means that repeatable read isolation level is used. In addition,
* exclusive locks are taken only during schema snapshot. Using a value of
* 'exclusive' ensures that the connector holds the exclusive lock (and thus
* prevents any reads and updates) for all captured tables during the entire
* snapshot duration. When 'snapshot' is specified, connector runs the
* initial snapshot in SNAPSHOT isolation level, which guarantees snapshot
* consistency. In addition, neither table nor row-level locks are held.
* When 'read_committed' is specified, connector runs the initial snapshot
* in READ COMMITTED isolation level. No long-running locks are taken, so
* that initial snapshot does not prevent other transactions from updating
* table rows. Snapshot consistency is not guaranteed.In 'read_uncommitted'
* mode neither table nor row-level locks are acquired, but connector does
* not guarantee snapshot consistency.
*/
private String snapshotIsolationMode = "repeatable_read";
/**
* 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: '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 transaction log.; '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
* transaction log.; '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
* transaction log.
*/
private String snapshotMode = "initial";
/**
* 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.sqlserver.SqlServerSourceInfoStructMaker";
/**
* 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' (the default) bases the precision of
* time, date, and timestamp values on the database column's precision;
* 'adaptive_time_microseconds' like 'adaptive' mode, 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";
/**
* 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 SqlServerConnectorEmbeddedDebeziumConfiguration getConfiguration() {
return configuration;
}
public void setConfiguration(
SqlServerConnectorEmbeddedDebeziumConfiguration 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 getBinaryHandlingMode() {
return binaryHandlingMode;
}
public void setBinaryHandlingMode(String binaryHandlingMode) {
this.binaryHandlingMode = binaryHandlingMode;
}
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 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 getDatabaseHostname() {
return databaseHostname;
}
public void setDatabaseHostname(String databaseHostname) {
this.databaseHostname = databaseHostname;
}
public String getDatabaseInstance() {
return databaseInstance;
}
public void setDatabaseInstance(String databaseInstance) {
this.databaseInstance = databaseInstance;
}
public String getDatabaseNames() {
return databaseNames;
}
public void setDatabaseNames(String databaseNames) {
this.databaseNames = databaseNames;
}
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 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 Integer getErrorsMaxRetries() {
return errorsMaxRetries;
}
public void setErrorsMaxRetries(Integer errorsMaxRetries) {
this.errorsMaxRetries = errorsMaxRetries;
}
public String getEventProcessingFailureHandlingMode() {
return eventProcessingFailureHandlingMode;
}
public void setEventProcessingFailureHandlingMode(
String eventProcessingFailureHandlingMode) {
this.eventProcessingFailureHandlingMode = eventProcessingFailureHandlingMode;
}
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 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 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 Boolean getIncrementalSnapshotOptionRecompile() {
return incrementalSnapshotOptionRecompile;
}
public void setIncrementalSnapshotOptionRecompile(
Boolean incrementalSnapshotOptionRecompile) {
this.incrementalSnapshotOptionRecompile = incrementalSnapshotOptionRecompile;
}
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 getMaxIterationTransactions() {
return maxIterationTransactions;
}
public void setMaxIterationTransactions(Integer maxIterationTransactions) {
this.maxIterationTransactions = maxIterationTransactions;
}
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 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 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 getSnapshotIsolationMode() {
return snapshotIsolationMode;
}
public void setSnapshotIsolationMode(String snapshotIsolationMode) {
this.snapshotIsolationMode = snapshotIsolationMode;
}
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 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;
}
}