Database Connector

The DATABASE_CONNECTOR shared config is used to define Debezium connector configuration for a specific database in the adapter.

Once this shared config is defined, it can be referred to in any configuration of the Database reader service.

This means that any common Debezium connector configuration can be defined as a DATABASE_CONNECTOR shared config and reused in multiple Database reader services.

Database connector shared configuration
Name Type Description Mandatory Default value

debeziumConfigs

map

A map of configurations for the Debezium Engine for a specific Debezium connector. A list of supported Debezium configurations for specific databases can be found in its Debezium’s official documentation

yes

n/a

If a database reader service refers to a shared configuration instance, Debezium configurations defined in the service and in the shared configuration are merged and used to initialize the service. If there are duplicate Debezium configurations, defined in both the shared configuration and in the service, the one in the service will take precedence.
Example 1. Sample DATABASE_CONNECTOR sharedConfig configuration snippet
{
  "sharedConfigName": "mySqlDatabaseConnector",
  "sharedConfigType": "DATABASE_CONNECTOR",
  "description": "Database connector for MySQL database",
  "config": {
    "application": {
      "debeziumConfigs": {
        "connector.class": "io.debezium.connector.mysql.MySqlConnector",
        "offset.storage": "org.apache.kafka.connect.storage.MemoryOffsetBackingStore",
        "offset.storage.file.filename": "/tmp/offsets.dat",
        "offset.flush.interval.ms": "60000",
        "database.history": "io.debezium.relational.history.MemoryDatabaseHistory",
        "database.hostname": "localhost",
        "database.port": "3306",
        "database.user": "mysqluser",
        "database.password": "mysqlpw"
      }
    }
  }
}