Class PostgresConnectorEmbeddedDebeziumConfiguration
java.lang.Object
org.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration
org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration
- All Implemented Interfaces:
Cloneable
@UriParams
public class PostgresConnectorEmbeddedDebeziumConfiguration
extends org.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Class
protected io.debezium.config.Configuration
int
int
int
int
int
int
long
long
int
long
long
int
long
long
int
long
int
int
long
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
void
setBinaryHandlingMode
(String binaryHandlingMode) 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) stringvoid
setColumnExcludeList
(String columnExcludeList) Regular expressions matching columns to exclude from change eventsvoid
setColumnIncludeList
(String columnIncludeList) Regular expressions matching columns to include in change eventsvoid
setColumnPropagateSourceType
(String columnPropagateSourceType) 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.void
setConverters
(String converters) Optional list of custom converters that would be used instead of default ones.void
setCustomMetricTags
(String customMetricTags) 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.void
setDatabaseDbname
(String databaseDbname) The name of the database from which the connector should capture changesvoid
setDatabaseHostname
(String databaseHostname) Resolvable hostname or IP address of the database server.void
setDatabaseInitialStatements
(String databaseInitialStatements) A semicolon separated list of SQL statements to be executed when a JDBC connection to the database is established.void
setDatabasePassword
(String databasePassword) Password of the database user to be used when connecting to the database.void
setDatabasePort
(int databasePort) Port of the database server.void
setDatabaseSslcert
(String databaseSslcert) File containing the SSL Certificate for the client.void
setDatabaseSslfactory
(String databaseSslfactory) A name of class to that creates SSL Sockets.void
setDatabaseSslkey
(String databaseSslkey) File containing the SSL private key for the client.void
setDatabaseSslmode
(String databaseSslmode) Whether to use an encrypted connection to Postgres.void
setDatabaseSslpassword
(String databaseSslpassword) Password to access the client private key from the file specified by 'database.sslkey'.void
setDatabaseSslrootcert
(String databaseSslrootcert) File containing the root certificate(s) against which the server is validated.void
setDatabaseTcpkeepalive
(boolean databaseTcpkeepalive) Enable or disable TCP keep-alive probe to avoid dropping TCP connectionvoid
setDatabaseUser
(String databaseUser) Name of the database user to be used when connecting to the database.void
setDatatypePropagateSourceType
(String datatypePropagateSourceType) 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.void
setDecimalHandlingMode
(String decimalHandlingMode) 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.void
setErrorsMaxRetries
(int errorsMaxRetries) The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, > 0 = num of retries).void
setEventProcessingFailureHandlingMode
(String eventProcessingFailureHandlingMode) Specify how failures during processing of events (i.e.void
setFlushLsnSource
(boolean flushLsnSource) Boolean to determine if Debezium should flush LSN in the source postgres database.void
setHeartbeatActionQuery
(String heartbeatActionQuery) The query executed with every heartbeat.void
setHeartbeatIntervalMs
(int heartbeatIntervalMs) Length of an interval in milli-seconds in in which the connector periodically sends heartbeat messages to a heartbeat topic.void
setHeartbeatTopicsPrefix
(String heartbeatTopicsPrefix) The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat.void
setHstoreHandlingMode
(String hstoreHandlingMode) Specify how HSTORE columns should be represented in change events, including: 'json' represents values as string-ified JSON (default); 'map' represents values as a key/value mapvoid
setIncludeSchemaComments
(boolean includeSchemaComments) Whether the connector parse table and column's comment to metadata object.void
setIncludeUnknownDatatypes
(boolean includeUnknownDatatypes) Specify whether the fields of data type not supported by Debezium should be processed: 'false' (the default) omits the fields; 'true' converts the field into an implementation dependent binary representation.void
setIncrementalSnapshotChunkSize
(int incrementalSnapshotChunkSize) The maximum size of chunk (number of documents/rows) for incremental snapshottingvoid
setIncrementalSnapshotWatermarkingStrategy
(String incrementalSnapshotWatermarkingStrategy) 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;void
setIntervalHandlingMode
(String intervalHandlingMode) Specify how INTERVAL columns should be represented in change events, including: 'string' represents values as an exact ISO formatted string; 'numeric' (default) represents values using the inexact conversion into microsecondsvoid
setMaxBatchSize
(int maxBatchSize) Maximum size of each batch of source records.void
setMaxQueueSize
(int maxQueueSize) Maximum size of the queue for change events read from the database log but not yet recorded or forwarded.void
setMaxQueueSizeInBytes
(long maxQueueSizeInBytes) Maximum size of the queue in bytes for change events read from the database log but not yet recorded or forwarded.void
setMessageKeyColumns
(String messageKeyColumns) A semicolon-separated list of expressions that match fully-qualified tables and column(s) to be used as message key.void
setMessagePrefixExcludeList
(String messagePrefixExcludeList) A comma-separated list of regular expressions that match the logical decoding message prefixes to be excluded from monitoring.void
setMessagePrefixIncludeList
(String messagePrefixIncludeList) A comma-separated list of regular expressions that match the logical decoding message prefixes to be monitored.void
setNotificationEnabledChannels
(String notificationEnabledChannels) List of notification channels names that are enabled.void
setNotificationSinkTopicName
(String notificationSinkTopicName) The name of the topic for the notifications.void
setPluginName
(String pluginName) The name of the Postgres logical decoding plugin installed on the server.void
setPollIntervalMs
(long pollIntervalMs) Time to wait for new change events to appear after receiving no events, given in milliseconds.void
setPostProcessors
(String postProcessors) Optional list of post processors.void
setProvideTransactionMetadata
(boolean provideTransactionMetadata) Enables transaction metadata extraction together with event countingvoid
setPublicationAutocreateMode
(String publicationAutocreateMode) Applies only when streaming changes using pgoutput.Determine how creation of a publication should work, the default is all_tables.DISABLED - The connector will not attempt to create a publication at all.void
setPublicationName
(String publicationName) The name of the Postgres 10+ publication used for streaming changes from a plugin.void
setQueryFetchSize
(int queryFetchSize) The maximum number of records that should be loaded into memory while streaming.void
setReplicaIdentityAutosetValues
(String replicaIdentityAutosetValues) Applies only when streaming changes using pgoutput.Determines the value for Replica Identity at table level.void
setRetriableRestartConnectorWaitMs
(long retriableRestartConnectorWaitMs) Time to wait before restarting connector after retriable exception occurs.void
setSchemaExcludeList
(String schemaExcludeList) The schemas for which events must not be capturedvoid
setSchemaHistoryInternalFileFilename
(String schemaHistoryInternalFileFilename) The path to the file that will be used to record the database schema historyvoid
setSchemaIncludeList
(String schemaIncludeList) The schemas for which events should be capturedvoid
setSchemaNameAdjustmentMode
(String schemaNameAdjustmentMode) 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.void
setSchemaRefreshMode
(String schemaRefreshMode) Specify the conditions that trigger a refresh of the in-memory schema for a table.void
setSignalDataCollection
(String signalDataCollection) The name of the data collection that is used to send signals/commands to Debezium.void
setSignalEnabledChannels
(String signalEnabledChannels) List of channels names that are enabled.void
setSignalPollIntervalMs
(long signalPollIntervalMs) Interval for looking for new signals in registered channels, given in milliseconds.void
setSkippedOperations
(String skippedOperations) 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.void
setSlotDropOnStop
(boolean slotDropOnStop) Whether or not to drop the logical replication slot when the connector finishes orderly.void
setSlotMaxRetries
(int slotMaxRetries) How many times to retry connecting to a replication slot when an attempt fails.void
setSlotName
(String slotName) The name of the Postgres logical decoding slot created for streaming changes from a plugin.void
setSlotRetryDelayMs
(long slotRetryDelayMs) Time to wait between retry attempts when the connector fails to connect to a replication slot, given in milliseconds.void
setSlotStreamParams
(String slotStreamParams) Any optional parameters used by logical decoding plugin.void
setSnapshotCustomClass
(String snapshotCustomClass) When 'snapshot.mode' is set as custom, this setting must be set to specify a fully qualified class name to load (via the default class loader).void
setSnapshotDelayMs
(long snapshotDelayMs) A delay period before a snapshot will begin, given in milliseconds.void
setSnapshotFetchSize
(int snapshotFetchSize) The maximum number of records that should be loaded into memory while performing a snapshot.void
setSnapshotIncludeCollectionList
(String snapshotIncludeCollectionList) This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting the connector.void
setSnapshotLockTimeoutMs
(long snapshotLockTimeoutMs) The maximum number of millis to wait for table locks at the beginning of a snapshot.void
setSnapshotMaxThreads
(int snapshotMaxThreads) The maximum number of threads used to perform the snapshot.void
setSnapshotMode
(String snapshotMode) The criteria for running a snapshot upon startup of the connector.void
setSnapshotSelectStatementOverrides
(String snapshotSelectStatementOverrides) 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.void
setSnapshotTablesOrderByRowCount
(String snapshotTablesOrderByRowCount) Controls the order in which tables are processed in the initial snapshot.void
setSourceinfoStructMaker
(String sourceinfoStructMaker) The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct.void
setStatusUpdateIntervalMs
(int statusUpdateIntervalMs) Frequency for sending replication connection status updates to the server, given in milliseconds.void
setTableExcludeList
(String tableExcludeList) A comma-separated list of regular expressions that match the fully-qualified names of tables to be excluded from monitoringvoid
setTableIgnoreBuiltin
(boolean tableIgnoreBuiltin) Flag specifying whether built-in tables should be ignored.void
setTableIncludeList
(String tableIncludeList) The tables for which changes are to be capturedvoid
setTimePrecisionMode
(String timePrecisionMode) 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.void
setTombstonesOnDelete
(boolean tombstonesOnDelete) Whether delete operations should be represented by a delete event and a subsequent tombstone event (true) or only by a delete event (false).void
setTopicNamingStrategy
(String topicNamingStrategy) The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change, transaction, heartbeat event etc.void
setTopicPrefix
(String topicPrefix) Topic prefix that identifies and provides a namespace for the particular database server/cluster is capturing changes.void
setUnavailableValuePlaceholder
(String unavailableValuePlaceholder) Specify the constant that will be provided by Debezium to indicate that the original value is a toasted value not provided by the database.void
setXminFetchIntervalMs
(long xminFetchIntervalMs) Specify how often (in ms) the xmin will be fetched from the replication slot.protected org.apache.camel.component.debezium.configuration.ConfigurationValidation
Methods inherited from class org.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration
addPropertyIfNotNull, addPropertyIfNotNull, copy, createDebeziumConfiguration, getAdditionalProperties, getConnectorClass, getInternalKeyConverter, getInternalValueConverter, getName, getOffsetCommitPolicy, getOffsetCommitTimeoutMs, getOffsetFlushIntervalMs, getOffsetStorage, getOffsetStorageFileName, getOffsetStoragePartitions, getOffsetStorageReplicationFactor, getOffsetStorageTopic, isFieldValueNotSet, setAdditionalProperties, setConnectorClass, setInternalKeyConverter, setInternalValueConverter, setName, setOffsetCommitPolicy, setOffsetCommitTimeoutMs, setOffsetFlushIntervalMs, setOffsetStorage, setOffsetStorageFileName, setOffsetStoragePartitions, setOffsetStorageReplicationFactor, setOffsetStorageTopic, validateConfiguration
-
Constructor Details
-
PostgresConnectorEmbeddedDebeziumConfiguration
public PostgresConnectorEmbeddedDebeziumConfiguration()
-
-
Method Details
-
setMessageKeyColumns
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 'invalid input: '<'fully-qualified table name>:', 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 -
getMessageKeyColumns
-
setCustomMetricTags
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 -
getCustomMetricTags
-
setQueryFetchSize
public void setQueryFetchSize(int queryFetchSize) The maximum number of records that should be loaded into memory while streaming. A value of '0' uses the default JDBC fetch size. -
getQueryFetchSize
public int getQueryFetchSize() -
setPublicationName
The name of the Postgres 10+ publication used for streaming changes from a plugin. Defaults to 'dbz_publication' -
getPublicationName
-
setSchemaIncludeList
The schemas for which events should be captured -
getSchemaIncludeList
-
setSignalEnabledChannels
List of channels names that are enabled. Source channel is enabled by default -
getSignalEnabledChannels
-
setSlotMaxRetries
public void setSlotMaxRetries(int slotMaxRetries) How many times to retry connecting to a replication slot when an attempt fails. -
getSlotMaxRetries
public int getSlotMaxRetries() -
setSchemaRefreshMode
Specify the conditions that trigger a refresh of the in-memory schema for a table. 'columns_diff' (the default) is the safest mode, ensuring the in-memory schema stays in-sync with the database table's schema at all times. 'columns_diff_exclude_unchanged_toast' instructs the connector to refresh the in-memory schema cache if there is a discrepancy between it and the schema derived from the incoming message, unless unchanged TOASTable data fully accounts for the discrepancy. This setting can improve connector performance significantly if there are frequently-updated tables that have TOASTed data that are rarely part of these updates. However, it is possible for the in-memory schema to become outdated if TOASTable columns are dropped from the table. -
getSchemaRefreshMode
-
setDatabaseSslmode
Whether to use an encrypted connection to Postgres. Options include: 'disable' (the default) to use an unencrypted connection; 'allow' to try and use an unencrypted connection first and, failing that, a secure (encrypted) connection; 'prefer' (the default) to try and use a secure (encrypted) connection first and, failing that, an unencrypted connection; 'require' 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-full' like 'verify-ca' but additionally verify that the server certificate matches the host to which the connection is attempted. -
getDatabaseSslmode
-
setHeartbeatActionQuery
The query executed with every heartbeat. -
getHeartbeatActionQuery
-
setReplicaIdentityAutosetValues
Applies only when streaming changes using pgoutput.Determines the value for Replica Identity at table level. This option will overwrite the existing value in databaseA comma-separated list of regular expressions that match fully-qualified tables and Replica Identity value to be used in the table. Each expression must match the pattern 'invalid input: '<'fully-qualified table name>:', where the table names could be defined as (SCHEMA_NAME.TABLE_NAME), and the replica identity values are: DEFAULT - Records the old values of the columns of the primary key, if any. This is the default for non-system tables.INDEX index_name - Records the old values of the columns covered by the named index, that must be unique, not partial, not deferrable, and include only columns marked NOT NULL. If this index is dropped, the behavior is the same as NOTHING.FULL - Records the old values of all columns in the row.NOTHING - Records no information about the old row. This is the default for system tables. -
getReplicaIdentityAutosetValues
-
setDatabaseSslcert
File containing the SSL Certificate for the client. See the Postgres SSL docs for further information -
getDatabaseSslcert
-
setPollIntervalMs
public void setPollIntervalMs(long pollIntervalMs) Time to wait for new change events to appear after receiving no events, given in milliseconds. Defaults to 500 ms. -
getPollIntervalMs
public long getPollIntervalMs() -
setSignalDataCollection
The name of the data collection that is used to send signals/commands to Debezium. Signaling is disabled when not set. -
getSignalDataCollection
-
setDatabaseInitialStatements
A semicolon separated list of SQL statements to be executed when a JDBC 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. -
getDatabaseInitialStatements
-
setIntervalHandlingMode
Specify how INTERVAL columns should be represented in change events, including: 'string' represents values as an exact ISO formatted string; 'numeric' (default) represents values using the inexact conversion into microseconds -
getIntervalHandlingMode
-
setConverters
Optional list of custom converters that would be used instead of default ones. The converters are defined using 'invalid input: '<'converter.prefix>.type' config option and configured using options 'invalid input: '<'converter.prefix>. -
getConverters
-
setHeartbeatTopicsPrefix
The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat. -
getHeartbeatTopicsPrefix
-
setDatabaseSslfactory
A name of class to that creates SSL Sockets. Use org.postgresql.ssl.NonValidatingFactory to disable SSL validation in development environments -
getDatabaseSslfactory
-
setStatusUpdateIntervalMs
public void setStatusUpdateIntervalMs(int statusUpdateIntervalMs) Frequency for sending replication connection status updates to the server, given in milliseconds. Defaults to 10 seconds (10,000 ms). -
getStatusUpdateIntervalMs
public int getStatusUpdateIntervalMs() -
setSnapshotFetchSize
public void setSnapshotFetchSize(int snapshotFetchSize) The maximum number of records that should be loaded into memory while performing a snapshot. -
getSnapshotFetchSize
public int getSnapshotFetchSize() -
setSnapshotLockTimeoutMs
public void setSnapshotLockTimeoutMs(long snapshotLockTimeoutMs) 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 -
getSnapshotLockTimeoutMs
public long getSnapshotLockTimeoutMs() -
setDatabaseUser
Name of the database user to be used when connecting to the database. -
getDatabaseUser
-
setDatabaseDbname
The name of the database from which the connector should capture changes -
getDatabaseDbname
-
setDatatypePropagateSourceType
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. -
getDatatypePropagateSourceType
-
setDatabaseSslkey
File containing the SSL private key for the client. See the Postgres SSL docs for further information -
getDatabaseSslkey
-
setSnapshotTablesOrderByRowCount
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. -
getSnapshotTablesOrderByRowCount
-
setIncrementalSnapshotWatermarkingStrategy
public void setIncrementalSnapshotWatermarkingStrategy(String incrementalSnapshotWatermarkingStrategy) 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; -
getIncrementalSnapshotWatermarkingStrategy
-
setSnapshotSelectStatementOverrides
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. -
getSnapshotSelectStatementOverrides
-
setHeartbeatIntervalMs
public void setHeartbeatIntervalMs(int heartbeatIntervalMs) 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. -
getHeartbeatIntervalMs
public int getHeartbeatIntervalMs() -
setColumnIncludeList
Regular expressions matching columns to include in change events -
getColumnIncludeList
-
setPluginName
The name of the Postgres logical decoding plugin installed on the server. Supported values are 'decoderbufs' and 'pgoutput'. Defaults to 'decoderbufs'. -
getPluginName
-
setDatabaseSslpassword
Password to access the client private key from the file specified by 'database.sslkey'. See the Postgres SSL docs for further information -
getDatabaseSslpassword
-
setColumnPropagateSourceType
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. -
getColumnPropagateSourceType
-
setErrorsMaxRetries
public void setErrorsMaxRetries(int errorsMaxRetries) The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, > 0 = num of retries). -
getErrorsMaxRetries
public int getErrorsMaxRetries() -
setTableExcludeList
A comma-separated list of regular expressions that match the fully-qualified names of tables to be excluded from monitoring -
getTableExcludeList
-
setDatabasePassword
Password of the database user to be used when connecting to the database. -
getDatabasePassword
-
setDatabaseSslrootcert
File containing the root certificate(s) against which the server is validated. See the Postgres JDBC SSL docs for further information -
getDatabaseSslrootcert
-
setSkippedOperations
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. -
getSkippedOperations
-
setMaxBatchSize
public void setMaxBatchSize(int maxBatchSize) Maximum size of each batch of source records. Defaults to 2048. -
getMaxBatchSize
public int getMaxBatchSize() -
setTopicNamingStrategy
The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change, transaction, heartbeat event etc. -
getTopicNamingStrategy
-
setSnapshotMode
The criteria for running a snapshot upon startup of the connector. Select one of the following snapshot options: 'always': The connector runs a snapshot every time that it starts. After the snapshot completes, the connector begins to stream changes from the transaction log.; '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.; 'never': The connector does not run a snapshot. Upon first startup, the connector immediately begins reading from the beginning of the transaction log. 'exported': This option is deprecated; use 'initial' instead.; 'custom': The connector loads a custom class to specify how the connector performs snapshots. For more information, see Custom snapshotter SPI in the PostgreSQL connector documentation. -
getSnapshotMode
-
setMessagePrefixIncludeList
A comma-separated list of regular expressions that match the logical decoding message prefixes to be monitored. All prefixes are monitored by default. -
getMessagePrefixIncludeList
-
setMaxQueueSize
public void setMaxQueueSize(int maxQueueSize) 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. -
getMaxQueueSize
public int getMaxQueueSize() -
setSnapshotCustomClass
When 'snapshot.mode' is set as custom, this setting must be set to specify a fully qualified class name to load (via the default class loader). This class must implement the 'Snapshotter' interface and is called on each app boot to determine whether to do a snapshot and how to build queries. -
getSnapshotCustomClass
-
setSlotName
The name of the Postgres logical decoding slot created for streaming changes from a plugin. Defaults to 'debezium -
getSlotName
-
setIncrementalSnapshotChunkSize
public void setIncrementalSnapshotChunkSize(int incrementalSnapshotChunkSize) The maximum size of chunk (number of documents/rows) for incremental snapshotting -
getIncrementalSnapshotChunkSize
public int getIncrementalSnapshotChunkSize() -
setHstoreHandlingMode
Specify how HSTORE columns should be represented in change events, including: 'json' represents values as string-ified JSON (default); 'map' represents values as a key/value map -
getHstoreHandlingMode
-
setRetriableRestartConnectorWaitMs
public void setRetriableRestartConnectorWaitMs(long retriableRestartConnectorWaitMs) Time to wait before restarting connector after retriable exception occurs. Defaults to 10000ms. -
getRetriableRestartConnectorWaitMs
public long getRetriableRestartConnectorWaitMs() -
setSnapshotDelayMs
public void setSnapshotDelayMs(long snapshotDelayMs) A delay period before a snapshot will begin, given in milliseconds. Defaults to 0 ms. -
getSnapshotDelayMs
public long getSnapshotDelayMs() -
setProvideTransactionMetadata
public void setProvideTransactionMetadata(boolean provideTransactionMetadata) Enables transaction metadata extraction together with event counting -
isProvideTransactionMetadata
public boolean isProvideTransactionMetadata() -
setSchemaHistoryInternalFileFilename
The path to the file that will be used to record the database schema history -
getSchemaHistoryInternalFileFilename
-
setTombstonesOnDelete
public void setTombstonesOnDelete(boolean tombstonesOnDelete) 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. -
isTombstonesOnDelete
public boolean isTombstonesOnDelete() -
setTopicPrefix
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. -
getTopicPrefix
-
setSlotRetryDelayMs
public void setSlotRetryDelayMs(long slotRetryDelayMs) Time to wait between retry attempts when the connector fails to connect to a replication slot, given in milliseconds. Defaults to 10 seconds (10,000 ms). -
getSlotRetryDelayMs
public long getSlotRetryDelayMs() -
setDecimalHandlingMode
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. -
getDecimalHandlingMode
-
setBinaryHandlingMode
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 -
getBinaryHandlingMode
-
setIncludeSchemaComments
public void setIncludeSchemaComments(boolean includeSchemaComments) 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'. -
isIncludeSchemaComments
public boolean isIncludeSchemaComments() -
setSourceinfoStructMaker
The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct. -
getSourceinfoStructMaker
-
setFlushLsnSource
public void setFlushLsnSource(boolean flushLsnSource) Boolean to determine if Debezium should flush LSN in the source postgres database. If set to false, user will have to flush the LSN manually outside Debezium. -
isFlushLsnSource
public boolean isFlushLsnSource() -
setTableIgnoreBuiltin
public void setTableIgnoreBuiltin(boolean tableIgnoreBuiltin) Flag specifying whether built-in tables should be ignored. -
isTableIgnoreBuiltin
public boolean isTableIgnoreBuiltin() -
setDatabaseTcpkeepalive
public void setDatabaseTcpkeepalive(boolean databaseTcpkeepalive) Enable or disable TCP keep-alive probe to avoid dropping TCP connection -
isDatabaseTcpkeepalive
public boolean isDatabaseTcpkeepalive() -
setSchemaExcludeList
The schemas for which events must not be captured -
getSchemaExcludeList
-
setPublicationAutocreateMode
Applies only when streaming changes using pgoutput.Determine how creation of a publication should work, the default is all_tables.DISABLED - The connector will not attempt to create a publication at all. The expectation is that the user has created the publication up-front. If the publication isn't found to exist upon startup, the connector will throw an exception and stop.ALL_TABLES - If no publication exists, the connector will create a new publication for all tables. Note this requires that the configured user has access. If the publication already exists, it will be used. i.e CREATE PUBLICATIONFOR ALL TABLES;FILTERED - If no publication exists, the connector will create a new publication for all those tables matchingthe current filter configuration (see table/database include/exclude list properties). If the publication already exists, it will be used. i.e CREATE PUBLICATION FOR TABLE invalid input: '<'tbl1, tbl2, etc> -
getPublicationAutocreateMode
-
setSnapshotIncludeCollectionList
This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting the connector. -
getSnapshotIncludeCollectionList
-
setSlotDropOnStop
public void setSlotDropOnStop(boolean slotDropOnStop) Whether or not to drop the logical replication slot when the connector finishes orderly. By default the replication is kept so that on restart progress can resume from the last recorded location -
isSlotDropOnStop
public boolean isSlotDropOnStop() -
setMaxQueueSizeInBytes
public void setMaxQueueSizeInBytes(long maxQueueSizeInBytes) 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 -
getMaxQueueSizeInBytes
public long getMaxQueueSizeInBytes() -
setXminFetchIntervalMs
public void setXminFetchIntervalMs(long xminFetchIntervalMs) Specify how often (in ms) the xmin will be fetched from the replication slot. This xmin value is exposed by the slot which gives a lower bound of where a new replication slot could start from. The lower the value, the more likely this value is to be the current 'true' value, but the bigger the performance cost. The bigger the value, the less likely this value is to be the current 'true' value, but the lower the performance penalty. The default is set to 0 ms, which disables tracking xmin. -
getXminFetchIntervalMs
public long getXminFetchIntervalMs() -
setTimePrecisionMode
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. -
getTimePrecisionMode
-
setMessagePrefixExcludeList
A comma-separated list of regular expressions that match the logical decoding message prefixes to be excluded from monitoring. -
getMessagePrefixExcludeList
-
setSignalPollIntervalMs
public void setSignalPollIntervalMs(long signalPollIntervalMs) Interval for looking for new signals in registered channels, given in milliseconds. Defaults to 5 seconds. -
getSignalPollIntervalMs
public long getSignalPollIntervalMs() -
setPostProcessors
Optional list of post processors. The processors are defined using 'invalid input: '<'post.processor.prefix>.type' config option and configured using options 'invalid input: '<'post.processor.prefix. -
getPostProcessors
-
setNotificationEnabledChannels
List of notification channels names that are enabled. -
getNotificationEnabledChannels
-
setEventProcessingFailureHandlingMode
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. -
getEventProcessingFailureHandlingMode
-
setSnapshotMaxThreads
public void setSnapshotMaxThreads(int snapshotMaxThreads) The maximum number of threads used to perform the snapshot. Defaults to 1. -
getSnapshotMaxThreads
public int getSnapshotMaxThreads() -
setDatabasePort
public void setDatabasePort(int databasePort) Port of the database server. -
getDatabasePort
public int getDatabasePort() -
setNotificationSinkTopicName
The name of the topic for the notifications. This is required in case 'sink' is in the list of enabled channels -
getNotificationSinkTopicName
-
setColumnExcludeList
Regular expressions matching columns to exclude from change events -
getColumnExcludeList
-
setIncludeUnknownDatatypes
public void setIncludeUnknownDatatypes(boolean includeUnknownDatatypes) Specify whether the fields of data type not supported by Debezium should be processed: 'false' (the default) omits the fields; 'true' converts the field into an implementation dependent binary representation. -
isIncludeUnknownDatatypes
public boolean isIncludeUnknownDatatypes() -
setDatabaseHostname
Resolvable hostname or IP address of the database server. -
getDatabaseHostname
-
setSchemaNameAdjustmentMode
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) -
getSchemaNameAdjustmentMode
-
setTableIncludeList
The tables for which changes are to be captured -
getTableIncludeList
-
setSlotStreamParams
Any optional parameters used by logical decoding plugin. Semi-colon separated. E.g. 'add-tables=public.table,public.table2;include-lsn=true' -
getSlotStreamParams
-
createConnectorConfiguration
protected io.debezium.config.Configuration createConnectorConfiguration()- Specified by:
createConnectorConfiguration
in classorg.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration
-
configureConnectorClass
- Specified by:
configureConnectorClass
in classorg.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration
-
validateConnectorConfiguration
protected org.apache.camel.component.debezium.configuration.ConfigurationValidation validateConnectorConfiguration()- Specified by:
validateConnectorConfiguration
in classorg.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration
-
getConnectorDatabaseType
- Specified by:
getConnectorDatabaseType
in classorg.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration
-