| /* |
| * 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; |
| } |
| } |