Configuration
This section describes how you can configure an Azkarra Application.
1 The Configurable
interface
Azkarra allows any component registered into the AzkarraContext
as well as the TopologyProvider
to be configurable by implementing the interface io.streamthoughts.azkarra.api.config.Configurable
:
public interface Configurable {
void configure(final Conf configuration);
}
The configure
method is automatically invoked after instantiating the TopologyProvider
.
The Conf
instance passed as parameter contains the StreamsExecutionEnvironment
configuration, in which the Topology has been registered, merged
with the Conf
provided through the Executed
object.
2 The Conf
interface
The Azkarra project provides some built-in Conf
implementations which are used internally.
- ArgsConf : A Conf implementation that can be created from an arguments array.
- AzkarraConf : A Conf implementation which is based on the Lightbend Config library.
- MapConf : A Conf implementation that can be created from a Map.
- Property : A single key-value with configuration.
The Conf
interface define methods : getConfAsMap
and getConfAsProperties
which be can used to easily creating a Consumer/Producer/KafkaStreams instance.