The configuration file is a JSON format file where you specific the general properties to configure the normalizer instance. This file is different that stream config file that define the KS topology.
Example configuration file:
{
"application.id": "ks-normalizer-app-id",
"bootstrap.servers": "localhost:9092",
"num.stream.threads": 1,
"bootstrapper.classname": "io.wizzie.normalizer.builder.bootstrap.KafkaBootstrapper",
"metric.enable": true,
"metric.listeners": ["io.wizzie.metrics.listeners.ConsoleMetricListener"],
"metric.interval": 60000,
"multi.id": false
}
Property | Description | Default Value |
---|---|---|
application.id |
This id is used to identify a group of normalizer instances. Normally this id is used to identify different clients. | - |
bootstrap.servers |
A list of host/port pairs to use for establishing the initial connection to the Kafka cluster. The client will make use of all servers irrespective of which servers are specified here for bootstrapping—this list only impacts the initial hosts used to discover the full set of servers. This list should be in the form host1:port1,host2:port2 |
- |
num.stream.threads |
The number of threads to execute stream processing. | 1 |
bootstrapper.classname |
The bootstrapper class reference. More info: Bootstrapper | - |
metric.enable |
Enable metrics system. | false |
metric.listeners |
Array with metrics listeners. More info: Metrics | [“io.wizzie.metrics.listeners.ConsoleMetricListener”] |
metric.interval |
Metric report interval (milliseconds) | 60000 |
multi.id |
This property is used when you have multiple normalizer instances with differences application.id and the normalizer uses the same topic names. More Info Multi Tenant |
false |
metric.enable |
Enable metrics system. | false |
max.kafka.output.topics |
Max number of kafka topics that the normalizer can create to send data using the stream config | Integer.MAX_VALUE |
Note: If you want to configure specific Kafka Streams properties, you can add these properties to this config file. The properties key.serde
and value.serde
will be overrwritten by normalizer.