The configuration file is a JSON format file where you specify the general properties to configure the enricher instance. This file is different from stream config file that define the KS topology.
Example configuration file:
{
"application.id": "ks-enricher-app-id",
"bootstrap.servers": "localhost:9092",
"num.stream.threads": 1,
"bootstrapper.classname": "io.wizzie.enricher.builder.bootstrap.KafkaBootstrapper",
"metric.enable": true,
"metric.listeners": ["io.wizzie.metrics.listeners.ConsoleMetricListener"],
"metric.interval": 60000,
"multi.id": false,
"global.topics": ["reputation"],
"bypass.null.keys": true
}
Property | Description | Default Value |
---|---|---|
application.id |
This id is used to identify a group of enricher instances. Normally this id is used to identify different clients. | - |
bootstrap.servers |
A list of host/port pairs 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 enricher instances with different application.id and the enricher uses the same topic names. More Info Multi Tenant |
false |
metric.enable |
Enable metrics system. | false |
global.topics |
This property is used to not prefix application.id to both streams and tables to the topics at this list. More info Multi Tenant. | Empty list. |
bypass.null.keys |
This property is used to use a random key for incoming messages with null key. This may be useful when you want a message with null key bypass a join. | false |
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 overwritten by enricher.