You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/01/14 16:38:00 UTC

[camel-spring-boot] branch main updated: CAMEL-17490: Upgrade to debezium 1.8

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git


The following commit(s) were added to refs/heads/main by this push:
     new dad8fb2  CAMEL-17490: Upgrade to debezium 1.8
dad8fb2 is described below

commit dad8fb2b656e16c7cfe78004f9a29f1590a98eb4
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Jan 14 17:37:52 2022 +0100

    CAMEL-17490: Upgrade to debezium 1.8
---
 .../catalog/components/debezium-mongodb.json       |  8 +-
 .../catalog/components/debezium-mysql.json         | 12 ++-
 .../catalog/components/debezium-postgres.json      | 12 ++-
 .../catalog/components/debezium-sqlserver.json     | 16 +++-
 .../src/main/docs/debezium-mongodb.json            | 14 ++++
 .../DebeziumMongodbComponentConfiguration.java     | 30 +++++++
 .../src/main/docs/debezium-mysql.json              | 27 +++++++
 .../DebeziumMySqlComponentConfiguration.java       | 63 +++++++++++++++
 .../src/main/docs/debezium-postgres.json           | 40 ++++++++--
 .../DebeziumPostgresComponentConfiguration.java    | 89 +++++++++++++++++----
 .../src/main/docs/debezium-sqlserver.json          | 41 ++++++++++
 .../DebeziumSqlserverComponentConfiguration.java   | 91 ++++++++++++++++++++++
 tooling/camel-spring-boot-dependencies/pom.xml     | 20 +++++
 13 files changed, 433 insertions(+), 30 deletions(-)

diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-mongodb.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-mongodb.json
index 7082b72..0759504 100644
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-mongodb.json
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-mongodb.json
@@ -36,6 +36,7 @@
     "offsetStorageReplicationFactor": { "kind": "property", "displayName": "Offset Storage Replication Factor", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Replication factor used when creating the offse [...]
     "offsetStorageTopic": { "kind": "property", "displayName": "Offset Storage Topic", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The name of the Kafka topic where offsets are to be stored.  [...]
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "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 t [...]
+    "captureMode": { "kind": "property", "displayName": "Capture Mode", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "change_streams_update_full", "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The method used to cap [...]
     "collectionExcludeList": { "kind": "property", "displayName": "Collection Exclude List", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A comma-separated list of regular expressions t [...]
     "collectionIncludeList": { "kind": "property", "displayName": "Collection Include List", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A comma-separated list of regular expressions t [...]
     "connectBackoffInitialDelayMs": { "kind": "property", "displayName": "Connect Backoff Initial Delay Ms", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1s", "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The initial delay w [...]
@@ -80,7 +81,8 @@
     "snapshotMaxThreads": { "kind": "property", "displayName": "Snapshot Max Threads", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The maximum number of threads used to perform  [...]
     "snapshotMode": { "kind": "property", "displayName": "Snapshot Mode", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "initial", "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The criteria for running a snapshot upo [...]
     "sourceStructVersion": { "kind": "property", "displayName": "Source Struct Version", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "v2", "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A version of the format of th [...]
-    "tombstonesOnDelete": { "kind": "property", "displayName": "Tombstones On Delete", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether delete operations should be re [...]
+    "tombstonesOnDelete": { "kind": "property", "displayName": "Tombstones On Delete", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether delete operations should be re [...]
+    "transactionTopic": { "kind": "property", "displayName": "Transaction Topic", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "${database.server.name}.transaction", "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The [...]
   },
   "properties": {
     "name": { "kind": "path", "displayName": "Name", "group": "consumer", "label": "consumer", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Unique name for the connector. Attempting to register again with the sam [...]
@@ -98,6 +100,7 @@
     "offsetStorageTopic": { "kind": "parameter", "displayName": "Offset Storage Topic", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The name of the Kafka topic where offsets are to be stored. [...]
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the con [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", "InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
+    "captureMode": { "kind": "parameter", "displayName": "Capture Mode", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "change_streams_update_full", "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The method used to ca [...]
     "collectionExcludeList": { "kind": "parameter", "displayName": "Collection Exclude List", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A comma-separated list of regular expressions  [...]
     "collectionIncludeList": { "kind": "parameter", "displayName": "Collection Include List", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A comma-separated list of regular expressions  [...]
     "connectBackoffInitialDelayMs": { "kind": "parameter", "displayName": "Connect Backoff Initial Delay Ms", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1s", "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The initial delay  [...]
@@ -142,6 +145,7 @@
     "snapshotMaxThreads": { "kind": "parameter", "displayName": "Snapshot Max Threads", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The maximum number of threads used to perform [...]
     "snapshotMode": { "kind": "parameter", "displayName": "Snapshot Mode", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "initial", "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The criteria for running a snapshot up [...]
     "sourceStructVersion": { "kind": "parameter", "displayName": "Source Struct Version", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "v2", "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A version of the format of t [...]
-    "tombstonesOnDelete": { "kind": "parameter", "displayName": "Tombstones On Delete", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether delete operations should be r [...]
+    "tombstonesOnDelete": { "kind": "parameter", "displayName": "Tombstones On Delete", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether delete operations should be r [...]
+    "transactionTopic": { "kind": "parameter", "displayName": "Transaction Topic", "group": "mongodb", "label": "consumer,mongodb", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "${database.server.name}.transaction", "configurationClass": "org.apache.camel.component.debezium.configuration.MongoDbConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Th [...]
   }
 }
diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-mysql.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-mysql.json
index 6d80800..c625315 100644
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-mysql.json
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-mysql.json
@@ -81,11 +81,14 @@
     "gtidSourceExcludes": { "kind": "property", "displayName": "Gtid Source Excludes", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The source UUIDs used to exclude GTID ranges when determine [...]
     "gtidSourceFilterDmlEvents": { "kind": "property", "displayName": "Gtid Source Filter Dml Events", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "If set to true, we will only  [...]
     "gtidSourceIncludes": { "kind": "property", "displayName": "Gtid Source Includes", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The source UUIDs used to include GTID ranges when determine [...]
+    "heartbeatActionQuery": { "kind": "property", "displayName": "Heartbeat Action Query", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The query executed with every heartbeat." },
     "heartbeatIntervalMs": { "kind": "property", "displayName": "Heartbeat Interval Ms", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0ms", "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Length of an interval in milli-seconds in in  [...]
     "heartbeatTopicsPrefix": { "kind": "property", "displayName": "Heartbeat Topics Prefix", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "__debezium-heartbeat", "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The prefix th [...]
     "includeQuery": { "kind": "property", "displayName": "Include Query", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether the connector should include the original SQL que [...]
     "includeSchemaChanges": { "kind": "property", "displayName": "Include Schema Changes", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether the connector should publish chan [...]
+    "includeSchemaComments": { "kind": "property", "displayName": "Include Schema Comments", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether the connector parse table and  [...]
     "inconsistentSchemaHandlingMode": { "kind": "property", "displayName": "Inconsistent Schema Handling Mode", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "fail", "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Specify ho [...]
+    "incrementalSnapshotAllowSchemaChanges": { "kind": "property", "displayName": "Incremental Snapshot Allow Schema Changes", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Dete [...]
     "incrementalSnapshotChunkSize": { "kind": "property", "displayName": "Incremental Snapshot Chunk Size", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1024, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The maximum size of chunk fo [...]
     "maxBatchSize": { "kind": "property", "displayName": "Max Batch Size", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2048, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Maximum size of each batch of source records. Defaults to 2048." },
     "maxQueueSize": { "kind": "property", "displayName": "Max Queue Size", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 8192, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Maximum size of the queue for change events read from the dat [...]
@@ -115,7 +118,8 @@
     "tableIncludeList": { "kind": "property", "displayName": "Table Include List", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The tables for which changes are to be captured" },
     "tableWhitelist": { "kind": "property", "displayName": "Table Whitelist", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The tables for which changes are to be captured (deprecated, use tab [...]
     "timePrecisionMode": { "kind": "property", "displayName": "Time Precision Mode", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "adaptive_time_microseconds", "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Time, date and  [...]
-    "tombstonesOnDelete": { "kind": "property", "displayName": "Tombstones On Delete", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether delete operations should be represen [...]
+    "tombstonesOnDelete": { "kind": "property", "displayName": "Tombstones On Delete", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether delete operations should be represen [...]
+    "transactionTopic": { "kind": "property", "displayName": "Transaction Topic", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "${database.server.name}.transaction", "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The name  [...]
   },
   "properties": {
     "name": { "kind": "path", "displayName": "Name", "group": "consumer", "label": "consumer", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Unique name for the connector. Attempting to register again with the same  [...]
@@ -178,11 +182,14 @@
     "gtidSourceExcludes": { "kind": "parameter", "displayName": "Gtid Source Excludes", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The source UUIDs used to exclude GTID ranges when determin [...]
     "gtidSourceFilterDmlEvents": { "kind": "parameter", "displayName": "Gtid Source Filter Dml Events", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "If set to true, we will only [...]
     "gtidSourceIncludes": { "kind": "parameter", "displayName": "Gtid Source Includes", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The source UUIDs used to include GTID ranges when determin [...]
+    "heartbeatActionQuery": { "kind": "parameter", "displayName": "Heartbeat Action Query", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The query executed with every heartbeat." },
     "heartbeatIntervalMs": { "kind": "parameter", "displayName": "Heartbeat Interval Ms", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0ms", "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Length of an interval in milli-seconds in in [...]
     "heartbeatTopicsPrefix": { "kind": "parameter", "displayName": "Heartbeat Topics Prefix", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "__debezium-heartbeat", "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The prefix t [...]
     "includeQuery": { "kind": "parameter", "displayName": "Include Query", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether the connector should include the original SQL qu [...]
     "includeSchemaChanges": { "kind": "parameter", "displayName": "Include Schema Changes", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether the connector should publish cha [...]
+    "includeSchemaComments": { "kind": "parameter", "displayName": "Include Schema Comments", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether the connector parse table and [...]
     "inconsistentSchemaHandlingMode": { "kind": "parameter", "displayName": "Inconsistent Schema Handling Mode", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "fail", "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Specify h [...]
+    "incrementalSnapshotAllowSchemaChanges": { "kind": "parameter", "displayName": "Incremental Snapshot Allow Schema Changes", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Det [...]
     "incrementalSnapshotChunkSize": { "kind": "parameter", "displayName": "Incremental Snapshot Chunk Size", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1024, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The maximum size of chunk f [...]
     "maxBatchSize": { "kind": "parameter", "displayName": "Max Batch Size", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2048, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Maximum size of each batch of source records. Defaults to 2048." },
     "maxQueueSize": { "kind": "parameter", "displayName": "Max Queue Size", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 8192, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Maximum size of the queue for change events read from the da [...]
@@ -212,6 +219,7 @@
     "tableIncludeList": { "kind": "parameter", "displayName": "Table Include List", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The tables for which changes are to be captured" },
     "tableWhitelist": { "kind": "parameter", "displayName": "Table Whitelist", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The tables for which changes are to be captured (deprecated, use ta [...]
     "timePrecisionMode": { "kind": "parameter", "displayName": "Time Precision Mode", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "adaptive_time_microseconds", "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Time, date and [...]
-    "tombstonesOnDelete": { "kind": "parameter", "displayName": "Tombstones On Delete", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether delete operations should be represe [...]
+    "tombstonesOnDelete": { "kind": "parameter", "displayName": "Tombstones On Delete", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether delete operations should be represe [...]
+    "transactionTopic": { "kind": "parameter", "displayName": "Transaction Topic", "group": "mysql", "label": "consumer,mysql", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "${database.server.name}.transaction", "configurationClass": "org.apache.camel.component.debezium.configuration.MySqlConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The name [...]
   }
 }
diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-postgres.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-postgres.json
index 7050992..7b32702 100644
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-postgres.json
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-postgres.json
@@ -65,6 +65,7 @@
     "heartbeatIntervalMs": { "kind": "property", "displayName": "Heartbeat Interval Ms", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0ms", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Length of an interval in milli-secon [...]
     "heartbeatTopicsPrefix": { "kind": "property", "displayName": "Heartbeat Topics Prefix", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "__debezium-heartbeat", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The  [...]
     "hstoreHandlingMode": { "kind": "property", "displayName": "Hstore Handling Mode", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "json", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Specify how HSTORE columns [...]
+    "includeSchemaComments": { "kind": "property", "displayName": "Include Schema Comments", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether the connector parse t [...]
     "includeUnknownDatatypes": { "kind": "property", "displayName": "Include Unknown Datatypes", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Specify whether the field [...]
     "incrementalSnapshotChunkSize": { "kind": "property", "displayName": "Incremental Snapshot Chunk Size", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1024, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The maximum size of [...]
     "intervalHandlingMode": { "kind": "property", "displayName": "Interval Handling Mode", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "numeric", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Specify how INTERVA [...]
@@ -72,6 +73,8 @@
     "maxQueueSize": { "kind": "property", "displayName": "Max Queue Size", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 8192, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Maximum size of the queue for change events read fro [...]
     "maxQueueSizeInBytes": { "kind": "property", "displayName": "Max Queue Size In Bytes", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Maximum size of the queue in bytes for [...]
     "messageKeyColumns": { "kind": "property", "displayName": "Message Key Columns", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A semicolon-separated list of expressions that match [...]
+    "messagePrefixExcludeList": { "kind": "property", "displayName": "Message Prefix Exclude List", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A comma-separated list of regular exp [...]
+    "messagePrefixIncludeList": { "kind": "property", "displayName": "Message Prefix Include List", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A comma-separated list of regular exp [...]
     "pluginName": { "kind": "property", "displayName": "Plugin Name", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "decoderbufs", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The name of the Postgres logical dec [...]
     "pollIntervalMs": { "kind": "property", "displayName": "Poll Interval Ms", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "500ms", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Time to wait for new change events to appea [...]
     "provideTransactionMetadata": { "kind": "property", "displayName": "Provide Transaction Metadata", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Enables transaction [...]
@@ -108,9 +111,10 @@
     "tableIncludeList": { "kind": "property", "displayName": "Table Include List", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The tables for which changes are to be captured" },
     "tableWhitelist": { "kind": "property", "displayName": "Table Whitelist", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The tables for which changes are to be captured (deprecated [...]
     "timePrecisionMode": { "kind": "property", "displayName": "Time Precision Mode", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "adaptive", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Time, date, and timestam [...]
-    "toastedValuePlaceholder": { "kind": "property", "displayName": "Toasted Value Placeholder", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "__debezium_unavailable_value", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "descrip [...]
     "tombstonesOnDelete": { "kind": "property", "displayName": "Tombstones On Delete", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether delete operations should be [...]
+    "transactionTopic": { "kind": "property", "displayName": "Transaction Topic", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "${database.server.name}.transaction", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": " [...]
     "truncateHandlingMode": { "kind": "property", "displayName": "Truncate Handling Mode", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "skip", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Specify how TRUNCATE o [...]
+    "unavailableValuePlaceholder": { "kind": "property", "displayName": "Unavailable Value Placeholder", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "__debezium_unavailable_value", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration",  [...]
     "xminFetchIntervalMs": { "kind": "property", "displayName": "Xmin Fetch Interval Ms", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0ms", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Specify how often (in ms) the xmin [...]
   },
   "properties": {
@@ -158,6 +162,7 @@
     "heartbeatIntervalMs": { "kind": "parameter", "displayName": "Heartbeat Interval Ms", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0ms", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Length of an interval in milli-seco [...]
     "heartbeatTopicsPrefix": { "kind": "parameter", "displayName": "Heartbeat Topics Prefix", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "__debezium-heartbeat", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The [...]
     "hstoreHandlingMode": { "kind": "parameter", "displayName": "Hstore Handling Mode", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "json", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Specify how HSTORE column [...]
+    "includeSchemaComments": { "kind": "parameter", "displayName": "Include Schema Comments", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether the connector parse  [...]
     "includeUnknownDatatypes": { "kind": "parameter", "displayName": "Include Unknown Datatypes", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Specify whether the fiel [...]
     "incrementalSnapshotChunkSize": { "kind": "parameter", "displayName": "Incremental Snapshot Chunk Size", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1024, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The maximum size o [...]
     "intervalHandlingMode": { "kind": "parameter", "displayName": "Interval Handling Mode", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "numeric", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Specify how INTERV [...]
@@ -165,6 +170,8 @@
     "maxQueueSize": { "kind": "parameter", "displayName": "Max Queue Size", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 8192, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Maximum size of the queue for change events read fr [...]
     "maxQueueSizeInBytes": { "kind": "parameter", "displayName": "Max Queue Size In Bytes", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Maximum size of the queue in bytes fo [...]
     "messageKeyColumns": { "kind": "parameter", "displayName": "Message Key Columns", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A semicolon-separated list of expressions that matc [...]
+    "messagePrefixExcludeList": { "kind": "parameter", "displayName": "Message Prefix Exclude List", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A comma-separated list of regular ex [...]
+    "messagePrefixIncludeList": { "kind": "parameter", "displayName": "Message Prefix Include List", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A comma-separated list of regular ex [...]
     "pluginName": { "kind": "parameter", "displayName": "Plugin Name", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "decoderbufs", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The name of the Postgres logical de [...]
     "pollIntervalMs": { "kind": "parameter", "displayName": "Poll Interval Ms", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "500ms", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Time to wait for new change events to appe [...]
     "provideTransactionMetadata": { "kind": "parameter", "displayName": "Provide Transaction Metadata", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Enables transactio [...]
@@ -201,9 +208,10 @@
     "tableIncludeList": { "kind": "parameter", "displayName": "Table Include List", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The tables for which changes are to be captured" },
     "tableWhitelist": { "kind": "parameter", "displayName": "Table Whitelist", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The tables for which changes are to be captured (deprecate [...]
     "timePrecisionMode": { "kind": "parameter", "displayName": "Time Precision Mode", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "adaptive", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Time, date, and timesta [...]
-    "toastedValuePlaceholder": { "kind": "parameter", "displayName": "Toasted Value Placeholder", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "__debezium_unavailable_value", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "descri [...]
     "tombstonesOnDelete": { "kind": "parameter", "displayName": "Tombstones On Delete", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether delete operations should b [...]
+    "transactionTopic": { "kind": "parameter", "displayName": "Transaction Topic", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "${database.server.name}.transaction", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description":  [...]
     "truncateHandlingMode": { "kind": "parameter", "displayName": "Truncate Handling Mode", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "skip", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Specify how TRUNCATE  [...]
+    "unavailableValuePlaceholder": { "kind": "parameter", "displayName": "Unavailable Value Placeholder", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "__debezium_unavailable_value", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", [...]
     "xminFetchIntervalMs": { "kind": "parameter", "displayName": "Xmin Fetch Interval Ms", "group": "postgres", "label": "consumer,postgres", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0ms", "configurationClass": "org.apache.camel.component.debezium.configuration.PostgresConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Specify how often (in ms) the xmi [...]
   }
 }
diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-sqlserver.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-sqlserver.json
index 9e79da7..8597239 100644
--- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-sqlserver.json
+++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/debezium-sqlserver.json
@@ -63,9 +63,14 @@
     "datatypePropagateSourceType": { "kind": "property", "displayName": "Datatype Propagate Source Type", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A comma-separated list of re [...]
     "decimalHandlingMode": { "kind": "property", "displayName": "Decimal Handling Mode", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "precise", "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Specify how DECIMA [...]
     "eventProcessingFailureHandlingMode": { "kind": "property", "displayName": "Event Processing Failure Handling Mode", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "fail", "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "desc [...]
+    "heartbeatActionQuery": { "kind": "property", "displayName": "Heartbeat Action Query", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The query executed with every heartbeat." },
     "heartbeatIntervalMs": { "kind": "property", "displayName": "Heartbeat Interval Ms", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0ms", "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Length of an interval in milli-se [...]
     "heartbeatTopicsPrefix": { "kind": "property", "displayName": "Heartbeat Topics Prefix", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "__debezium-heartbeat", "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "T [...]
     "includeSchemaChanges": { "kind": "property", "displayName": "Include Schema Changes", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether the connector should  [...]
+    "includeSchemaComments": { "kind": "property", "displayName": "Include Schema Comments", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether the connector pars [...]
+    "incrementalSnapshotAllowSchemaChanges": { "kind": "property", "displayName": "Incremental Snapshot Allow Schema Changes", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "descrip [...]
+    "incrementalSnapshotChunkSize": { "kind": "property", "displayName": "Incremental Snapshot Chunk Size", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1024, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The maximum size [...]
+    "incrementalSnapshotOptionRecompile": { "kind": "property", "displayName": "Incremental Snapshot Option Recompile", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description":  [...]
     "maxBatchSize": { "kind": "property", "displayName": "Max Batch Size", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2048, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Maximum size of each batch of source records. Def [...]
     "maxIterationTransactions": { "kind": "property", "displayName": "Max Iteration Transactions", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "This property can be used to [...]
     "maxQueueSize": { "kind": "property", "displayName": "Max Queue Size", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 8192, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Maximum size of the queue for change events read  [...]
@@ -94,7 +99,8 @@
     "tableIncludeList": { "kind": "property", "displayName": "Table Include List", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The tables for which changes are to be captured" },
     "tableWhitelist": { "kind": "property", "displayName": "Table Whitelist", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The tables for which changes are to be captured (depreca [...]
     "timePrecisionMode": { "kind": "property", "displayName": "Time Precision Mode", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "adaptive", "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Time, date, and times [...]
-    "tombstonesOnDelete": { "kind": "property", "displayName": "Tombstones On Delete", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether delete operations should [...]
+    "tombstonesOnDelete": { "kind": "property", "displayName": "Tombstones On Delete", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether delete operations should [...]
+    "transactionTopic": { "kind": "property", "displayName": "Transaction Topic", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "${database.server.name}.transaction", "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description" [...]
   },
   "properties": {
     "name": { "kind": "path", "displayName": "Name", "group": "consumer", "label": "consumer", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Unique name for the connector. Attempting to register again with the s [...]
@@ -139,9 +145,14 @@
     "datatypePropagateSourceType": { "kind": "parameter", "displayName": "Datatype Propagate Source Type", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "A comma-separated list of r [...]
     "decimalHandlingMode": { "kind": "parameter", "displayName": "Decimal Handling Mode", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "precise", "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Specify how DECIM [...]
     "eventProcessingFailureHandlingMode": { "kind": "parameter", "displayName": "Event Processing Failure Handling Mode", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "fail", "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "des [...]
+    "heartbeatActionQuery": { "kind": "parameter", "displayName": "Heartbeat Action Query", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The query executed with every heartbeat." },
     "heartbeatIntervalMs": { "kind": "parameter", "displayName": "Heartbeat Interval Ms", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0ms", "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Length of an interval in milli-s [...]
     "heartbeatTopicsPrefix": { "kind": "parameter", "displayName": "Heartbeat Topics Prefix", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "__debezium-heartbeat", "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": " [...]
     "includeSchemaChanges": { "kind": "parameter", "displayName": "Include Schema Changes", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether the connector should [...]
+    "includeSchemaComments": { "kind": "parameter", "displayName": "Include Schema Comments", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether the connector par [...]
+    "incrementalSnapshotAllowSchemaChanges": { "kind": "parameter", "displayName": "Incremental Snapshot Allow Schema Changes", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "descri [...]
+    "incrementalSnapshotChunkSize": { "kind": "parameter", "displayName": "Incremental Snapshot Chunk Size", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1024, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The maximum siz [...]
+    "incrementalSnapshotOptionRecompile": { "kind": "parameter", "displayName": "Incremental Snapshot Option Recompile", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": [...]
     "maxBatchSize": { "kind": "parameter", "displayName": "Max Batch Size", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2048, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Maximum size of each batch of source records. De [...]
     "maxIterationTransactions": { "kind": "parameter", "displayName": "Max Iteration Transactions", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "This property can be used t [...]
     "maxQueueSize": { "kind": "parameter", "displayName": "Max Queue Size", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 8192, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Maximum size of the queue for change events read [...]
@@ -170,6 +181,7 @@
     "tableIncludeList": { "kind": "parameter", "displayName": "Table Include List", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The tables for which changes are to be captured" },
     "tableWhitelist": { "kind": "parameter", "displayName": "Table Whitelist", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "The tables for which changes are to be captured (deprec [...]
     "timePrecisionMode": { "kind": "parameter", "displayName": "Time Precision Mode", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "adaptive", "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Time, date, and time [...]
-    "tombstonesOnDelete": { "kind": "parameter", "displayName": "Tombstones On Delete", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether delete operations shoul [...]
+    "tombstonesOnDelete": { "kind": "parameter", "displayName": "Tombstones On Delete", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description": "Whether delete operations shoul [...]
+    "transactionTopic": { "kind": "parameter", "displayName": "Transaction Topic", "group": "sqlserver", "label": "consumer,sqlserver", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "${database.server.name}.transaction", "configurationClass": "org.apache.camel.component.debezium.configuration.SqlServerConnectorEmbeddedDebeziumConfiguration", "configurationField": "configuration", "description [...]
   }
 }
diff --git a/components-starter/camel-debezium-mongodb-starter/src/main/docs/debezium-mongodb.json b/components-starter/camel-debezium-mongodb-starter/src/main/docs/debezium-mongodb.json
index 9479142..3c968aa 100644
--- a/components-starter/camel-debezium-mongodb-starter/src/main/docs/debezium-mongodb.json
+++ b/components-starter/camel-debezium-mongodb-starter/src/main/docs/debezium-mongodb.json
@@ -34,6 +34,13 @@
       "defaultValue": false
     },
     {
+      "name": "camel.component.debezium-mongodb.capture-mode",
+      "type": "java.lang.String",
+      "description": "The method used to capture changes from MongoDB server. Options include: 'oplog' to capture changes from the oplog; 'change_streams' to capture changes via MongoDB Change Streams, update events do not contain full documents; 'change_streams_update_full' (the default) to capture changes via MongoDB Change Streams, update events contain full documents",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumMongodbComponentConfiguration",
+      "defaultValue": "change_streams_update_full"
+    },
+    {
       "name": "camel.component.debezium-mongodb.collection-exclude-list",
       "type": "java.lang.String",
       "description": "A comma-separated list of regular expressions that match the collection names for which changes are to be excluded",
@@ -412,6 +419,13 @@
       "description": "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.",
       "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumMongodbComponentConfiguration",
       "defaultValue": false
+    },
+    {
+      "name": "camel.component.debezium-mongodb.transaction-topic",
+      "type": "java.lang.String",
+      "description": "The name of the transaction metadata topic. The placeholder ${database.server.name} can be used for referring to the connector's logical name; defaults to ${database.server.name}.transaction.",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumMongodbComponentConfiguration",
+      "defaultValue": "${database.server.name}.transaction"
     }
   ],
   "hints": []
diff --git a/components-starter/camel-debezium-mongodb-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumMongodbComponentConfiguration.java b/components-starter/camel-debezium-mongodb-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumMongodbComponentConfiguration.java
index 1e5512b..9c6b1c3 100644
--- a/components-starter/camel-debezium-mongodb-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumMongodbComponentConfiguration.java
+++ b/components-starter/camel-debezium-mongodb-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumMongodbComponentConfiguration.java
@@ -126,6 +126,14 @@ public class DebeziumMongodbComponentConfiguration
      */
     private Boolean autowiredEnabled = true;
     /**
+     * The method used to capture changes from MongoDB server. Options include:
+     * 'oplog' to capture changes from the oplog; 'change_streams' to capture
+     * changes via MongoDB Change Streams, update events do not contain full
+     * documents; 'change_streams_update_full' (the default) to capture changes
+     * via MongoDB Change Streams, update events contain full documents
+     */
+    private String captureMode = "change_streams_update_full";
+    /**
      * A comma-separated list of regular expressions that match the collection
      * names for which changes are to be excluded
      */
@@ -375,6 +383,12 @@ public class DebeziumMongodbComponentConfiguration
      * record got deleted.
      */
     private Boolean tombstonesOnDelete = false;
+    /**
+     * The name of the transaction metadata topic. The placeholder
+     * ${database.server.name} can be used for referring to the connector's
+     * logical name; defaults to ${database.server.name}.transaction.
+     */
+    private String transactionTopic = "${database.server.name}.transaction";
 
     public Map<String, Object> getAdditionalProperties() {
         return additionalProperties;
@@ -490,6 +504,14 @@ public class DebeziumMongodbComponentConfiguration
         this.autowiredEnabled = autowiredEnabled;
     }
 
+    public String getCaptureMode() {
+        return captureMode;
+    }
+
+    public void setCaptureMode(String captureMode) {
+        this.captureMode = captureMode;
+    }
+
     public String getCollectionExcludeList() {
         return collectionExcludeList;
     }
@@ -857,4 +879,12 @@ public class DebeziumMongodbComponentConfiguration
     public void setTombstonesOnDelete(Boolean tombstonesOnDelete) {
         this.tombstonesOnDelete = tombstonesOnDelete;
     }
+
+    public String getTransactionTopic() {
+        return transactionTopic;
+    }
+
+    public void setTransactionTopic(String transactionTopic) {
+        this.transactionTopic = transactionTopic;
+    }
 }
\ No newline at end of file
diff --git a/components-starter/camel-debezium-mysql-starter/src/main/docs/debezium-mysql.json b/components-starter/camel-debezium-mysql-starter/src/main/docs/debezium-mysql.json
index e7f4aa8..ef69edc 100644
--- a/components-starter/camel-debezium-mysql-starter/src/main/docs/debezium-mysql.json
+++ b/components-starter/camel-debezium-mysql-starter/src/main/docs/debezium-mysql.json
@@ -342,6 +342,12 @@
       "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumMySqlComponentConfiguration"
     },
     {
+      "name": "camel.component.debezium-mysql.heartbeat-action-query",
+      "type": "java.lang.String",
+      "description": "The query executed with every heartbeat.",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumMySqlComponentConfiguration"
+    },
+    {
       "name": "camel.component.debezium-mysql.heartbeat-interval-ms",
       "type": "java.lang.Integer",
       "description": "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.",
@@ -370,6 +376,13 @@
       "defaultValue": true
     },
     {
+      "name": "camel.component.debezium-mysql.include-schema-comments",
+      "type": "java.lang.Boolean",
+      "description": "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'.",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumMySqlComponentConfiguration",
+      "defaultValue": false
+    },
+    {
       "name": "camel.component.debezium-mysql.inconsistent-schema-handling-mode",
       "type": "java.lang.String",
       "description": "Specify how binlog events that belong to a table missing from internal schema representation (i.e. internal representation is not consistent with database) should be handled, including:'fail' (the default) an exception indicating the problematic event and its binlog position is raised, causing the connector to be stopped; 'warn' the problematic event and its binlog position will be logged and the event will be skipped;'skip' the problematic event will be skipped.",
@@ -377,6 +390,13 @@
       "defaultValue": "fail"
     },
     {
+      "name": "camel.component.debezium-mysql.incremental-snapshot-allow-schema-changes",
+      "type": "java.lang.Boolean",
+      "description": "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 [...]
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumMySqlComponentConfiguration",
+      "defaultValue": false
+    },
+    {
       "name": "camel.component.debezium-mysql.incremental-snapshot-chunk-size",
       "type": "java.lang.Integer",
       "description": "The maximum size of chunk for incremental snapshotting",
@@ -641,6 +661,13 @@
       "description": "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.",
       "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumMySqlComponentConfiguration",
       "defaultValue": false
+    },
+    {
+      "name": "camel.component.debezium-mysql.transaction-topic",
+      "type": "java.lang.String",
+      "description": "The name of the transaction metadata topic. The placeholder ${database.server.name} can be used for referring to the connector's logical name; defaults to ${database.server.name}.transaction.",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumMySqlComponentConfiguration",
+      "defaultValue": "${database.server.name}.transaction"
     }
   ],
   "hints": []
diff --git a/components-starter/camel-debezium-mysql-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumMySqlComponentConfiguration.java b/components-starter/camel-debezium-mysql-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumMySqlComponentConfiguration.java
index 2a6142e..97d63bc 100644
--- a/components-starter/camel-debezium-mysql-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumMySqlComponentConfiguration.java
+++ b/components-starter/camel-debezium-mysql-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumMySqlComponentConfiguration.java
@@ -407,6 +407,10 @@ public class DebeziumMySqlComponentConfiguration
      */
     private String gtidSourceIncludes;
     /**
+     * The query executed with every heartbeat.
+     */
+    private String heartbeatActionQuery;
+    /**
      * Length of an interval in milli-seconds in in which the connector
      * periodically sends heartbeat messages to a heartbeat topic. Use 0 to
      * disable heartbeat messages. Disabled by default. The option is a int
@@ -438,6 +442,15 @@ public class DebeziumMySqlComponentConfiguration
      */
     private Boolean includeSchemaChanges = true;
     /**
+     * Whether the connector parse table and column's comment to metadata
+     * object.Note: Enable this option will bring the implications on memory
+     * usage. The number and size of ColumnImpl objects is what largely impacts
+     * how much memory is consumed by the Debezium connectors, and adding a
+     * String to each of them can potentially be quite heavy. The default is
+     * 'false'.
+     */
+    private Boolean includeSchemaComments = false;
+    /**
      * Specify how binlog events that belong to a table missing from internal
      * schema representation (i.e. internal representation is not consistent
      * with database) should be handled, including:'fail' (the default) an
@@ -448,6 +461,17 @@ public class DebeziumMySqlComponentConfiguration
      */
     private String inconsistentSchemaHandlingMode = "fail";
     /**
+     * Detect schema change during an incremental snapshot and re-select a
+     * current chunk to avoid locking DDLs. Note that changes to a primary key
+     * are not supported and can cause incorrect results if performed during an
+     * incremental snapshot. Another limitation is that if a schema change
+     * affects only columns' default values, then the change won't be detected
+     * until the DDL is processed from the binlog stream. This doesn't affect
+     * the snapshot events' values, but the schema of snapshot events may have
+     * outdated defaults.
+     */
+    private Boolean incrementalSnapshotAllowSchemaChanges = false;
+    /**
      * The maximum size of chunk for incremental snapshotting
      */
     private Integer incrementalSnapshotChunkSize = 1024;
@@ -654,6 +678,12 @@ public class DebeziumMySqlComponentConfiguration
      * record got deleted.
      */
     private Boolean tombstonesOnDelete = false;
+    /**
+     * The name of the transaction metadata topic. The placeholder
+     * ${database.server.name} can be used for referring to the connector's
+     * logical name; defaults to ${database.server.name}.transaction.
+     */
+    private String transactionTopic = "${database.server.name}.transaction";
 
     public Map<String, Object> getAdditionalProperties() {
         return additionalProperties;
@@ -1141,6 +1171,14 @@ public class DebeziumMySqlComponentConfiguration
         this.gtidSourceIncludes = gtidSourceIncludes;
     }
 
+    public String getHeartbeatActionQuery() {
+        return heartbeatActionQuery;
+    }
+
+    public void setHeartbeatActionQuery(String heartbeatActionQuery) {
+        this.heartbeatActionQuery = heartbeatActionQuery;
+    }
+
     public Integer getHeartbeatIntervalMs() {
         return heartbeatIntervalMs;
     }
@@ -1173,6 +1211,14 @@ public class DebeziumMySqlComponentConfiguration
         this.includeSchemaChanges = includeSchemaChanges;
     }
 
+    public Boolean getIncludeSchemaComments() {
+        return includeSchemaComments;
+    }
+
+    public void setIncludeSchemaComments(Boolean includeSchemaComments) {
+        this.includeSchemaComments = includeSchemaComments;
+    }
+
     public String getInconsistentSchemaHandlingMode() {
         return inconsistentSchemaHandlingMode;
     }
@@ -1182,6 +1228,15 @@ public class DebeziumMySqlComponentConfiguration
         this.inconsistentSchemaHandlingMode = inconsistentSchemaHandlingMode;
     }
 
+    public Boolean getIncrementalSnapshotAllowSchemaChanges() {
+        return incrementalSnapshotAllowSchemaChanges;
+    }
+
+    public void setIncrementalSnapshotAllowSchemaChanges(
+            Boolean incrementalSnapshotAllowSchemaChanges) {
+        this.incrementalSnapshotAllowSchemaChanges = incrementalSnapshotAllowSchemaChanges;
+    }
+
     public Integer getIncrementalSnapshotChunkSize() {
         return incrementalSnapshotChunkSize;
     }
@@ -1425,4 +1480,12 @@ public class DebeziumMySqlComponentConfiguration
     public void setTombstonesOnDelete(Boolean tombstonesOnDelete) {
         this.tombstonesOnDelete = tombstonesOnDelete;
     }
+
+    public String getTransactionTopic() {
+        return transactionTopic;
+    }
+
+    public void setTransactionTopic(String transactionTopic) {
+        this.transactionTopic = transactionTopic;
+    }
 }
\ No newline at end of file
diff --git a/components-starter/camel-debezium-postgres-starter/src/main/docs/debezium-postgres.json b/components-starter/camel-debezium-postgres-starter/src/main/docs/debezium-postgres.json
index 82d9e5a..3a88dc0 100644
--- a/components-starter/camel-debezium-postgres-starter/src/main/docs/debezium-postgres.json
+++ b/components-starter/camel-debezium-postgres-starter/src/main/docs/debezium-postgres.json
@@ -234,6 +234,13 @@
       "defaultValue": "json"
     },
     {
+      "name": "camel.component.debezium-postgres.include-schema-comments",
+      "type": "java.lang.Boolean",
+      "description": "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'.",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumPostgresComponentConfiguration",
+      "defaultValue": false
+    },
+    {
       "name": "camel.component.debezium-postgres.include-unknown-datatypes",
       "type": "java.lang.Boolean",
       "description": "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.",
@@ -296,6 +303,18 @@
       "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumPostgresComponentConfiguration"
     },
     {
+      "name": "camel.component.debezium-postgres.message-prefix-exclude-list",
+      "type": "java.lang.String",
+      "description": "A comma-separated list of regular expressions that match the logical decoding message prefixes to be excluded from monitoring.",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumPostgresComponentConfiguration"
+    },
+    {
+      "name": "camel.component.debezium-postgres.message-prefix-include-list",
+      "type": "java.lang.String",
+      "description": "A comma-separated list of regular expressions that match the logical decoding message prefixes to be monitored. All prefixes are monitored by default.",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumPostgresComponentConfiguration"
+    },
+    {
       "name": "camel.component.debezium-postgres.offset-commit-policy",
       "type": "java.lang.String",
       "description": "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.",
@@ -585,13 +604,6 @@
       "defaultValue": "adaptive"
     },
     {
-      "name": "camel.component.debezium-postgres.toasted-value-placeholder",
-      "type": "java.lang.String",
-      "description": "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.",
-      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumPostgresComponentConfiguration",
-      "defaultValue": "__debezium_unavailable_value"
-    },
-    {
       "name": "camel.component.debezium-postgres.tombstones-on-delete",
       "type": "java.lang.Boolean",
       "description": "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.",
@@ -599,6 +611,13 @@
       "defaultValue": false
     },
     {
+      "name": "camel.component.debezium-postgres.transaction-topic",
+      "type": "java.lang.String",
+      "description": "The name of the transaction metadata topic. The placeholder ${database.server.name} can be used for referring to the connector's logical name; defaults to ${database.server.name}.transaction.",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumPostgresComponentConfiguration",
+      "defaultValue": "${database.server.name}.transaction"
+    },
+    {
       "name": "camel.component.debezium-postgres.truncate-handling-mode",
       "type": "java.lang.String",
       "description": "Specify how TRUNCATE operations are handled for change events (supported only on pg11 pgoutput plugin), including: 'skip' to skip \/ ignore TRUNCATE events (default), 'include' to handle and include TRUNCATE events",
@@ -606,6 +625,13 @@
       "defaultValue": "skip"
     },
     {
+      "name": "camel.component.debezium-postgres.unavailable-value-placeholder",
+      "type": "java.lang.String",
+      "description": "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 represents hexadecimal encoded octets.",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumPostgresComponentConfiguration",
+      "defaultValue": "__debezium_unavailable_value"
+    },
+    {
       "name": "camel.component.debezium-postgres.xmin-fetch-interval-ms",
       "type": "java.lang.Long",
       "description": "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  [...]
diff --git a/components-starter/camel-debezium-postgres-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumPostgresComponentConfiguration.java b/components-starter/camel-debezium-postgres-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumPostgresComponentConfiguration.java
index bab2219..e1a41c1 100644
--- a/components-starter/camel-debezium-postgres-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumPostgresComponentConfiguration.java
+++ b/components-starter/camel-debezium-postgres-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumPostgresComponentConfiguration.java
@@ -293,6 +293,15 @@ public class DebeziumPostgresComponentConfiguration
      */
     private String hstoreHandlingMode = "json";
     /**
+     * Whether the connector parse table and column's comment to metadata
+     * object.Note: Enable this option will bring the implications on memory
+     * usage. The number and size of ColumnImpl objects is what largely impacts
+     * how much memory is consumed by the Debezium connectors, and adding a
+     * String to each of them can potentially be quite heavy. The default is
+     * 'false'.
+     */
+    private Boolean includeSchemaComments = false;
+    /**
      * Specify 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.
@@ -338,6 +347,17 @@ public class DebeziumPostgresComponentConfiguration
      */
     private String messageKeyColumns;
     /**
+     * A comma-separated list of regular expressions that match the logical
+     * decoding message prefixes to be excluded from monitoring.
+     */
+    private String messagePrefixExcludeList;
+    /**
+     * A comma-separated list of regular expressions that match the logical
+     * decoding message prefixes to be monitored. All prefixes are monitored by
+     * default.
+     */
+    private String messagePrefixIncludeList;
+    /**
      * The name of the Postgres logical decoding plugin installed on the server.
      * Supported values are 'decoderbufs', 'wal2json', 'pgoutput',
      * 'wal2json_streaming', 'wal2json_rds' and 'wal2json_rds_streaming'.
@@ -569,13 +589,6 @@ public class DebeziumPostgresComponentConfiguration
      */
     private String timePrecisionMode = "adaptive";
     /**
-     * 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.
-     */
-    private String toastedValuePlaceholder = "__debezium_unavailable_value";
-    /**
      * 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
@@ -584,6 +597,12 @@ public class DebeziumPostgresComponentConfiguration
      */
     private Boolean tombstonesOnDelete = false;
     /**
+     * The name of the transaction metadata topic. The placeholder
+     * ${database.server.name} can be used for referring to the connector's
+     * logical name; defaults to ${database.server.name}.transaction.
+     */
+    private String transactionTopic = "${database.server.name}.transaction";
+    /**
      * Specify how TRUNCATE operations are handled for change events (supported
      * only on pg11 pgoutput plugin), including: 'skip' to skip / ignore
      * TRUNCATE events (default), 'include' to handle and include TRUNCATE
@@ -591,6 +610,13 @@ public class DebeziumPostgresComponentConfiguration
      */
     private String truncateHandlingMode = "skip";
     /**
+     * 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
+     * represents hexadecimal encoded octets.
+     */
+    private String unavailableValuePlaceholder = "__debezium_unavailable_value";
+    /**
      * 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
@@ -951,6 +977,14 @@ public class DebeziumPostgresComponentConfiguration
         this.hstoreHandlingMode = hstoreHandlingMode;
     }
 
+    public Boolean getIncludeSchemaComments() {
+        return includeSchemaComments;
+    }
+
+    public void setIncludeSchemaComments(Boolean includeSchemaComments) {
+        this.includeSchemaComments = includeSchemaComments;
+    }
+
     public Boolean getIncludeUnknownDatatypes() {
         return includeUnknownDatatypes;
     }
@@ -1008,6 +1042,22 @@ public class DebeziumPostgresComponentConfiguration
         this.messageKeyColumns = messageKeyColumns;
     }
 
+    public String getMessagePrefixExcludeList() {
+        return messagePrefixExcludeList;
+    }
+
+    public void setMessagePrefixExcludeList(String messagePrefixExcludeList) {
+        this.messagePrefixExcludeList = messagePrefixExcludeList;
+    }
+
+    public String getMessagePrefixIncludeList() {
+        return messagePrefixIncludeList;
+    }
+
+    public void setMessagePrefixIncludeList(String messagePrefixIncludeList) {
+        this.messagePrefixIncludeList = messagePrefixIncludeList;
+    }
+
     public String getPluginName() {
         return pluginName;
     }
@@ -1299,14 +1349,6 @@ public class DebeziumPostgresComponentConfiguration
         this.timePrecisionMode = timePrecisionMode;
     }
 
-    public String getToastedValuePlaceholder() {
-        return toastedValuePlaceholder;
-    }
-
-    public void setToastedValuePlaceholder(String toastedValuePlaceholder) {
-        this.toastedValuePlaceholder = toastedValuePlaceholder;
-    }
-
     public Boolean getTombstonesOnDelete() {
         return tombstonesOnDelete;
     }
@@ -1315,6 +1357,14 @@ public class DebeziumPostgresComponentConfiguration
         this.tombstonesOnDelete = tombstonesOnDelete;
     }
 
+    public String getTransactionTopic() {
+        return transactionTopic;
+    }
+
+    public void setTransactionTopic(String transactionTopic) {
+        this.transactionTopic = transactionTopic;
+    }
+
     public String getTruncateHandlingMode() {
         return truncateHandlingMode;
     }
@@ -1323,6 +1373,15 @@ public class DebeziumPostgresComponentConfiguration
         this.truncateHandlingMode = truncateHandlingMode;
     }
 
+    public String getUnavailableValuePlaceholder() {
+        return unavailableValuePlaceholder;
+    }
+
+    public void setUnavailableValuePlaceholder(
+            String unavailableValuePlaceholder) {
+        this.unavailableValuePlaceholder = unavailableValuePlaceholder;
+    }
+
     public Long getXminFetchIntervalMs() {
         return xminFetchIntervalMs;
     }
diff --git a/components-starter/camel-debezium-sqlserver-starter/src/main/docs/debezium-sqlserver.json b/components-starter/camel-debezium-sqlserver-starter/src/main/docs/debezium-sqlserver.json
index ad4ed76..36fb4bc 100644
--- a/components-starter/camel-debezium-sqlserver-starter/src/main/docs/debezium-sqlserver.json
+++ b/components-starter/camel-debezium-sqlserver-starter/src/main/docs/debezium-sqlserver.json
@@ -223,6 +223,12 @@
       "defaultValue": "fail"
     },
     {
+      "name": "camel.component.debezium-sqlserver.heartbeat-action-query",
+      "type": "java.lang.String",
+      "description": "The query executed with every heartbeat.",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumSqlserverComponentConfiguration"
+    },
+    {
       "name": "camel.component.debezium-sqlserver.heartbeat-interval-ms",
       "type": "java.lang.Integer",
       "description": "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.",
@@ -244,6 +250,34 @@
       "defaultValue": true
     },
     {
+      "name": "camel.component.debezium-sqlserver.include-schema-comments",
+      "type": "java.lang.Boolean",
+      "description": "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'.",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumSqlserverComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.debezium-sqlserver.incremental-snapshot-allow-schema-changes",
+      "type": "java.lang.Boolean",
+      "description": "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 [...]
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumSqlserverComponentConfiguration",
+      "defaultValue": false
+    },
+    {
+      "name": "camel.component.debezium-sqlserver.incremental-snapshot-chunk-size",
+      "type": "java.lang.Integer",
+      "description": "The maximum size of chunk for incremental snapshotting",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumSqlserverComponentConfiguration",
+      "defaultValue": 1024
+    },
+    {
+      "name": "camel.component.debezium-sqlserver.incremental-snapshot-option-recompile",
+      "type": "java.lang.Boolean",
+      "description": "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.",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumSqlserverComponentConfiguration",
+      "defaultValue": false
+    },
+    {
       "name": "camel.component.debezium-sqlserver.internal-key-converter",
       "type": "java.lang.String",
       "description": "The Converter class that should be used to serialize and deserialize key data for offsets. The default is JSON converter.",
@@ -501,6 +535,13 @@
       "description": "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.",
       "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumSqlserverComponentConfiguration",
       "defaultValue": false
+    },
+    {
+      "name": "camel.component.debezium-sqlserver.transaction-topic",
+      "type": "java.lang.String",
+      "description": "The name of the transaction metadata topic. The placeholder ${database.server.name} can be used for referring to the connector's logical name; defaults to ${database.server.name}.transaction.",
+      "sourceType": "org.apache.camel.component.debezium.springboot.DebeziumSqlserverComponentConfiguration",
+      "defaultValue": "${database.server.name}.transaction"
     }
   ],
   "hints": []
diff --git a/components-starter/camel-debezium-sqlserver-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumSqlserverComponentConfiguration.java b/components-starter/camel-debezium-sqlserver-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumSqlserverComponentConfiguration.java
index e90cc37..8bdbd9d 100644
--- a/components-starter/camel-debezium-sqlserver-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumSqlserverComponentConfiguration.java
+++ b/components-starter/camel-debezium-sqlserver-starter/src/main/java/org/apache/camel/component/debezium/springboot/DebeziumSqlserverComponentConfiguration.java
@@ -278,6 +278,10 @@ public class DebeziumSqlserverComponentConfiguration
      */
     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
@@ -299,6 +303,36 @@ public class DebeziumSqlserverComponentConfiguration
      */
     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 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;
+    /**
      * Maximum size of each batch of source records. Defaults to 2048.
      */
     private Integer maxBatchSize = 2048;
@@ -488,6 +522,12 @@ public class DebeziumSqlserverComponentConfiguration
      * record got deleted.
      */
     private Boolean tombstonesOnDelete = false;
+    /**
+     * The name of the transaction metadata topic. The placeholder
+     * ${database.server.name} can be used for referring to the connector's
+     * logical name; defaults to ${database.server.name}.transaction.
+     */
+    private String transactionTopic = "${database.server.name}.transaction";
 
     public Map<String, Object> getAdditionalProperties() {
         return additionalProperties;
@@ -828,6 +868,14 @@ public class DebeziumSqlserverComponentConfiguration
         this.eventProcessingFailureHandlingMode = eventProcessingFailureHandlingMode;
     }
 
+    public String getHeartbeatActionQuery() {
+        return heartbeatActionQuery;
+    }
+
+    public void setHeartbeatActionQuery(String heartbeatActionQuery) {
+        this.heartbeatActionQuery = heartbeatActionQuery;
+    }
+
     public Integer getHeartbeatIntervalMs() {
         return heartbeatIntervalMs;
     }
@@ -852,6 +900,41 @@ public class DebeziumSqlserverComponentConfiguration
         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 Integer getMaxBatchSize() {
         return maxBatchSize;
     }
@@ -1086,4 +1169,12 @@ public class DebeziumSqlserverComponentConfiguration
     public void setTombstonesOnDelete(Boolean tombstonesOnDelete) {
         this.tombstonesOnDelete = tombstonesOnDelete;
     }
+
+    public String getTransactionTopic() {
+        return transactionTopic;
+    }
+
+    public void setTransactionTopic(String transactionTopic) {
+        this.transactionTopic = transactionTopic;
+    }
 }
\ No newline at end of file
diff --git a/tooling/camel-spring-boot-dependencies/pom.xml b/tooling/camel-spring-boot-dependencies/pom.xml
index 26d260c..b20a93b 100644
--- a/tooling/camel-spring-boot-dependencies/pom.xml
+++ b/tooling/camel-spring-boot-dependencies/pom.xml
@@ -2405,6 +2405,11 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-cloudevents</artifactId>
+        <version>3.15.0-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-cluster</artifactId>
         <version>3.15.0-SNAPSHOT</version>
       </dependency>
@@ -3225,6 +3230,21 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-knative</artifactId>
+        <version>3.15.0-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-knative-api</artifactId>
+        <version>3.15.0-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-knative-http</artifactId>
+        <version>3.15.0-SNAPSHOT</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-kotlin-dsl</artifactId>
         <version>3.15.0-SNAPSHOT</version>
       </dependency>