Class PostgresConnectorEmbeddedDebeziumConfiguration
- java.lang.Object
-
- org.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration
-
- org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration
-
@UriParams public class PostgresConnectorEmbeddedDebeziumConfiguration extends org.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration
-
-
Constructor Summary
Constructors Constructor Description PostgresConnectorEmbeddedDebeziumConfiguration()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Class
configureConnectorClass()
protected io.debezium.config.Configuration
createConnectorConfiguration()
String
getColumnBlacklist()
String
getConnectorDatabaseType()
String
getDatabaseDbname()
String
getDatabaseHistoryFileFilename()
String
getDatabaseHostname()
String
getDatabaseInitialStatements()
String
getDatabasePassword()
int
getDatabasePort()
String
getDatabaseServerName()
String
getDatabaseSslcert()
String
getDatabaseSslfactory()
String
getDatabaseSslkey()
String
getDatabaseSslmode()
String
getDatabaseSslpassword()
String
getDatabaseSslrootcert()
String
getDatabaseUser()
String
getDecimalHandlingMode()
String
getEventProcessingFailureHandlingMode()
String
getHeartbeatActionQuery()
int
getHeartbeatIntervalMs()
String
getHeartbeatTopicsPrefix()
String
getHstoreHandlingMode()
String
getIntervalHandlingMode()
int
getMaxBatchSize()
int
getMaxQueueSize()
String
getMessageKeyColumns()
String
getPluginName()
long
getPollIntervalMs()
String
getPublicationName()
String
getSchemaBlacklist()
String
getSchemaRefreshMode()
String
getSchemaWhitelist()
int
getSlotMaxRetries()
String
getSlotName()
long
getSlotRetryDelayMs()
String
getSlotStreamParams()
String
getSnapshotCustomClass()
long
getSnapshotDelayMs()
int
getSnapshotFetchSize()
long
getSnapshotLockTimeoutMs()
String
getSnapshotMode()
String
getSnapshotSelectStatementOverrides()
String
getSourceStructVersion()
int
getStatusUpdateIntervalMs()
String
getTableBlacklist()
String
getTableWhitelist()
String
getTimePrecisionMode()
String
getToastedValuePlaceholder()
long
getXminFetchIntervalMs()
boolean
isDatabaseTcpkeepalive()
boolean
isIncludeUnknownDatatypes()
boolean
isProvideTransactionMetadata()
boolean
isSlotDropOnStop()
boolean
isTombstonesOnDelete()
void
setColumnBlacklist(String columnBlacklist)
Description is not available here, please check Debezium website for corresponding key 'column.blacklist' description.void
setDatabaseDbname(String databaseDbname)
The name of the database the connector should be monitoringvoid
setDatabaseHistoryFileFilename(String databaseHistoryFileFilename)
The path to the file that will be used to record the database historyvoid
setDatabaseHostname(String databaseHostname)
Resolvable hostname or IP address of the Postgres 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 Postgres database user to be used when connecting to the database.void
setDatabasePort(int databasePort)
Port of the Postgres database server.void
setDatabaseServerName(String databaseServerName)
Unique name that identifies the database server and all recorded offsets, and that is used as a prefix for all schemas and topics.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 Postgres database user to be used when connecting to the database.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
setEventProcessingFailureHandlingMode(String eventProcessingFailureHandlingMode)
Specify how failures during processing of events (i.e.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
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
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
setMessageKeyColumns(String messageKeyColumns)
A semicolon-separated list of expressions that match fully-qualified tables and column(s) to be used as message key.void
setPluginName(String pluginName)
The name of the Postgres logical decoding plugin installed on the server.void
setPollIntervalMs(long pollIntervalMs)
Frequency in milliseconds to wait for new change events to appear after receiving no events.void
setProvideTransactionMetadata(boolean provideTransactionMetadata)
Enables transaction metadata extraction together with event countingvoid
setPublicationName(String publicationName)
The name of the Postgres 10+ publication used for streaming changes from a plugin.Defaults to 'dbz_publication'void
setSchemaBlacklist(String schemaBlacklist)
The schemas for which events must not be capturedvoid
setSchemaRefreshMode(String schemaRefreshMode)
Specify the conditions that trigger a refresh of the in-memory schema for a table.void
setSchemaWhitelist(String schemaWhitelist)
The schemas for which events should be capturedvoid
setSlotDropOnStop(boolean slotDropOnStop)
Whether or not to drop the logical replication slot when the connector finishes orderlyBy default the replication is kept so that on restart progress can resume from the last recorded locationvoid
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.Defaults to 'debeziumvoid
setSlotRetryDelayMs(long slotRetryDelayMs)
The number of milli-seconds to wait between retry attempts when the connector fails to connect to a replication slot.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).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.void
setSnapshotDelayMs(long snapshotDelayMs)
The number of milliseconds to delay before a snapshot will begin.void
setSnapshotFetchSize(int snapshotFetchSize)
The maximum number of records that should be loaded into memory while performing a snapshotvoid
setSnapshotLockTimeoutMs(long snapshotLockTimeoutMs)
The maximum number of millis to wait for table locks at the beginning of a 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 thespecific connectors .void
setSourceStructVersion(String sourceStructVersion)
A version of the format of the publicly visible source part in the messagevoid
setStatusUpdateIntervalMs(int statusUpdateIntervalMs)
Frequency in milliseconds for sending replication connection status updates to the server.void
setTableBlacklist(String tableBlacklist)
Description is not available here, please check Debezium website for corresponding key 'table.blacklist' description.void
setTableWhitelist(String tableWhitelist)
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
setToastedValuePlaceholder(String toastedValuePlaceholder)
Specify the constant that will be provided by Debezium to indicate that the original value is a toasted value not provided by the database.If starts with 'hex:' prefix it is expected that the rest of the string repesents hexadecimally encoded octets.void
setTombstonesOnDelete(boolean tombstonesOnDelete)
Whether delete operations should be represented by a delete event and a subsquenttombstone event (true) or only by a delete event (false).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
validateConnectorConfiguration()
-
Methods inherited from class org.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration
addPropertyIfNotNull, addPropertyIfNotNull, 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
-
-
-
-
Method Detail
-
setMessageKeyColumns
public void setMessageKeyColumns(String messageKeyColumns)
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
-
getMessageKeyColumns
public String getMessageKeyColumns()
-
setPublicationName
public void setPublicationName(String publicationName)
The name of the Postgres 10+ publication used for streaming changes from a plugin.Defaults to 'dbz_publication'
-
getPublicationName
public String getPublicationName()
-
setColumnBlacklist
public void setColumnBlacklist(String columnBlacklist)
Description is not available here, please check Debezium website for corresponding key 'column.blacklist' description.
-
getColumnBlacklist
public String getColumnBlacklist()
-
setSchemaBlacklist
public void setSchemaBlacklist(String schemaBlacklist)
The schemas for which events must not be captured
-
getSchemaBlacklist
public String getSchemaBlacklist()
-
setTableBlacklist
public void setTableBlacklist(String tableBlacklist)
Description is not available here, please check Debezium website for corresponding key 'table.blacklist' description.
-
getTableBlacklist
public String getTableBlacklist()
-
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
public void setSchemaRefreshMode(String schemaRefreshMode)
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
public String getSchemaRefreshMode()
-
setDatabaseSslmode
public void setDatabaseSslmode(String databaseSslmode)
Whether to use an encrypted connection to Postgres. Options include'disable' (the default) to use 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
public String getDatabaseSslmode()
-
setHeartbeatActionQuery
public void setHeartbeatActionQuery(String heartbeatActionQuery)
The query executed with every heartbeat. Defaults to an empty string.
-
getHeartbeatActionQuery
public String getHeartbeatActionQuery()
-
setDatabaseSslcert
public void setDatabaseSslcert(String databaseSslcert)
File containing the SSL Certificate for the client. See the Postgres SSL docs for further information
-
getDatabaseSslcert
public String getDatabaseSslcert()
-
setPollIntervalMs
public void setPollIntervalMs(long pollIntervalMs)
Frequency in milliseconds to wait for new change events to appear after receiving no events. Defaults to 500ms.
-
getPollIntervalMs
public long getPollIntervalMs()
-
setDatabaseInitialStatements
public void setDatabaseInitialStatements(String databaseInitialStatements)
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 configurationof 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
public String getDatabaseInitialStatements()
-
setHeartbeatTopicsPrefix
public void setHeartbeatTopicsPrefix(String heartbeatTopicsPrefix)
The prefix that is used to name heartbeat topics.Defaults to __debezium-heartbeat.
-
getHeartbeatTopicsPrefix
public String getHeartbeatTopicsPrefix()
-
setIntervalHandlingMode
public 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 microseconds
-
getIntervalHandlingMode
public String getIntervalHandlingMode()
-
setDatabaseSslfactory
public void setDatabaseSslfactory(String databaseSslfactory)
A name of class to that creates SSL Sockets. Use org.postgresql.ssl.NonValidatingFactory to disable SSL validation in development environments
-
getDatabaseSslfactory
public String getDatabaseSslfactory()
-
setStatusUpdateIntervalMs
public void setStatusUpdateIntervalMs(int statusUpdateIntervalMs)
Frequency in milliseconds for sending replication connection status updates to the server. Defaults to 10 seconds (10000 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()
-
setDatabaseDbname
public void setDatabaseDbname(String databaseDbname)
The name of the database the connector should be monitoring
-
getDatabaseDbname
public String getDatabaseDbname()
-
setDatabaseUser
public void setDatabaseUser(String databaseUser)
Name of the Postgres database user to be used when connecting to the database.
-
getDatabaseUser
public String getDatabaseUser()
-
setDatabaseSslkey
public void setDatabaseSslkey(String databaseSslkey)
File containing the SSL private key for the client. See the Postgres SSL docs for further information
-
getDatabaseSslkey
public String getDatabaseSslkey()
-
setSnapshotSelectStatementOverrides
public 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 thespecific connectors . Select statements for the individual tables are specified in further configuration properties, one for each table, identified by the id 'snapshot.select.statement.overrides.[DB_NAME].[TABLE_NAME]' or 'snapshot.select.statement.overrides.[SCHEMA_NAME].[TABLE_NAME]', respectively. The value of those properties is the select statement to use when retrieving data from the specific table during snapshotting. A possible use case for large append-only tables is setting a specific point where to start (resume) snapshotting, in case a previous snapshotting was interrupted.
-
getSnapshotSelectStatementOverrides
public String 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()
-
setSourceStructVersion
public void setSourceStructVersion(String sourceStructVersion)
A version of the format of the publicly visible source part in the message
-
getSourceStructVersion
public String getSourceStructVersion()
-
setPluginName
public void setPluginName(String pluginName)
The name of the Postgres logical decoding plugin installed on the server. Supported values are 'decoderbufs' and 'wal2json'. Defaults to 'decoderbufs'.
-
getPluginName
public String getPluginName()
-
setDatabaseSslpassword
public void setDatabaseSslpassword(String databaseSslpassword)
Password to access the client private key from the file specified by 'database.sslkey'. See the Postgres SSL docs for further information
-
getDatabaseSslpassword
public String getDatabaseSslpassword()
-
setToastedValuePlaceholder
public void setToastedValuePlaceholder(String toastedValuePlaceholder)
Specify the constant that will be provided by Debezium to indicate that the original value is a toasted value not provided by the database.If starts with 'hex:' prefix it is expected that the rest of the string repesents hexadecimally encoded octets.
-
getToastedValuePlaceholder
public String getToastedValuePlaceholder()
-
setSchemaWhitelist
public void setSchemaWhitelist(String schemaWhitelist)
The schemas for which events should be captured
-
getSchemaWhitelist
public String getSchemaWhitelist()
-
setDatabasePassword
public void setDatabasePassword(String databasePassword)
Password of the Postgres database user to be used when connecting to the database.
-
getDatabasePassword
public String getDatabasePassword()
-
setDatabaseSslrootcert
public void setDatabaseSslrootcert(String databaseSslrootcert)
File containing the root certificate(s) against which the server is validated. See the Postgres JDBC SSL docs for further information
-
getDatabaseSslrootcert
public String getDatabaseSslrootcert()
-
setMaxBatchSize
public void setMaxBatchSize(int maxBatchSize)
Maximum size of each batch of source records. Defaults to 2048.
-
getMaxBatchSize
public int getMaxBatchSize()
-
setSnapshotMode
public void setSnapshotMode(String snapshotMode)
The criteria for running a snapshot upon startup of the connector. Options include: 'always' to specify that the connector run a snapshot each time it starts up; 'initial' (the default) to specify the connector can run a snapshot only when no offsets are available for the logical server name; 'initial_only' same as 'initial' except the connector should stop after completing the snapshot and before it would normally start emitting changes;'never' to specify the connector should never run a snapshot and that upon first startup the connector should read from the last position (LSN) recorded by the server; and'exported' to specify the connector should run a snapshot based on the position when the replication slot was created; 'custom' to specify a custom class with 'snapshot.custom_class' which will be loaded and used to determine the snapshot, see docs for more details.
-
getSnapshotMode
public String getSnapshotMode()
-
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
public 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).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
public String getSnapshotCustomClass()
-
setSlotName
public void setSlotName(String slotName)
The name of the Postgres logical decoding slot created for streaming changes from a plugin.Defaults to 'debezium
-
getSlotName
public String getSlotName()
-
setHstoreHandlingMode
public 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 map
-
getHstoreHandlingMode
public String getHstoreHandlingMode()
-
setSnapshotDelayMs
public void setSnapshotDelayMs(long snapshotDelayMs)
The number of milliseconds to delay before a snapshot will begin.
-
getSnapshotDelayMs
public long getSnapshotDelayMs()
-
setProvideTransactionMetadata
public void setProvideTransactionMetadata(boolean provideTransactionMetadata)
Enables transaction metadata extraction together with event counting
-
isProvideTransactionMetadata
public boolean isProvideTransactionMetadata()
-
setTableWhitelist
public void setTableWhitelist(String tableWhitelist)
The tables for which changes are to be captured
-
getTableWhitelist
public String getTableWhitelist()
-
setTombstonesOnDelete
public void setTombstonesOnDelete(boolean tombstonesOnDelete)
Whether delete operations should be represented by a delete event and a subsquenttombstone event (true) or only by a delete event (false). Emitting the tombstone event (the default behavior) allows Kafka to completely delete all events pertaining to the given key once the source record got deleted.
-
isTombstonesOnDelete
public boolean isTombstonesOnDelete()
-
setSlotRetryDelayMs
public void setSlotRetryDelayMs(long slotRetryDelayMs)
The number of milli-seconds to wait between retry attempts when the connector fails to connect to a replication slot.
-
getSlotRetryDelayMs
public long getSlotRetryDelayMs()
-
setDecimalHandlingMode
public 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.
-
getDecimalHandlingMode
public String getDecimalHandlingMode()
-
setDatabaseTcpkeepalive
public void setDatabaseTcpkeepalive(boolean databaseTcpkeepalive)
Enable or disable TCP keep-alive probe to avoid dropping TCP connection
-
isDatabaseTcpkeepalive
public boolean isDatabaseTcpkeepalive()
-
setDatabaseHistoryFileFilename
public void setDatabaseHistoryFileFilename(String databaseHistoryFileFilename)
The path to the file that will be used to record the database history
-
getDatabaseHistoryFileFilename
public String getDatabaseHistoryFileFilename()
-
setSlotDropOnStop
public void setSlotDropOnStop(boolean slotDropOnStop)
Whether or not to drop the logical replication slot when the connector finishes orderlyBy default the replication is kept so that on restart progress can resume from the last recorded location
-
isSlotDropOnStop
public boolean isSlotDropOnStop()
-
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
public void 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 .
-
getTimePrecisionMode
public String getTimePrecisionMode()
-
setDatabaseServerName
public void setDatabaseServerName(String databaseServerName)
Unique name that identifies the database server and all recorded offsets, and that is used as a prefix for all schemas and topics. Each distinct installation should have a separate namespace and be monitored by at most one Debezium connector.
-
getDatabaseServerName
public String getDatabaseServerName()
-
setEventProcessingFailureHandlingMode
public void setEventProcessingFailureHandlingMode(String eventProcessingFailureHandlingMode)
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
public String getEventProcessingFailureHandlingMode()
-
setDatabasePort
public void setDatabasePort(int databasePort)
Port of the Postgres database server.
-
getDatabasePort
public int getDatabasePort()
-
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
public void setDatabaseHostname(String databaseHostname)
Resolvable hostname or IP address of the Postgres database server.
-
getDatabaseHostname
public String getDatabaseHostname()
-
setSlotStreamParams
public void setSlotStreamParams(String slotStreamParams)
Any optional parameters used by logical decoding plugin. Semi-colon separated. E.g. 'add-tables=public.table,public.table2;include-lsn=true'
-
getSlotStreamParams
public String getSlotStreamParams()
-
createConnectorConfiguration
protected io.debezium.config.Configuration createConnectorConfiguration()
- Specified by:
createConnectorConfiguration
in classorg.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration
-
configureConnectorClass
protected Class 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
public String getConnectorDatabaseType()
- Specified by:
getConnectorDatabaseType
in classorg.apache.camel.component.debezium.configuration.EmbeddedDebeziumConfiguration
-
-