Class AdvancedConfigBuilder
- java.lang.Object
-
- com.adaptris.kafka.AdvancedConfigBuilder
-
- All Implemented Interfaces:
ConfigBuilder
- Direct Known Subclasses:
AdvancedConsumerConfigBuilder
,AdvancedProducerConfigBuilder
public class AdvancedConfigBuilder extends java.lang.Object implements ConfigBuilder
Implementation ofConfigBuilder
that exposes all configuration.Exposes all possible settings via a
KeyValuePairSet
. No checking of values is performed other than for the various SSL passwords (such as "ssl.key.password") which will be resolved and decoded usingExternalResolver.resolve(String)
andPassword.decode(String)
appropriately. Because no checking is done, it will be possible to get some warnings about unused configuration (e.g. you have configuredlinger.ms
on a connection that is used for both producers and consumer) being logged. These can be safely ignored or filtered from logging (filter the classesorg.apache.kafka.clients.consumer.ConsumerConfig
and {code org.apache.kafka.clients.producer.ProducerConfig}If not explicitly configured; the
key.deserializer
property is fixed to be aStringDeserializer
; and thevalue.deserializer
property is anAdaptrisMessageDeserializer
.In the adapter configuration file this class is aliased as kafka-advanced-config-builder which is the preferred alternative to the fully qualified classname when building your configuration.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.adaptris.kafka.ConfigBuilder
ConfigBuilder.Acks, ConfigBuilder.CompressionType, ConfigBuilder.KeyFilter
-
-
Field Summary
Fields Modifier and Type Field Description protected org.slf4j.Logger
log
static java.util.List<java.lang.String>
PASSWORD_KEYS
List of keys that can beencoded
viaPassword.decode(String)
and externally resolved viaExternalResolver.resolve(String)
.-
Fields inherited from interface com.adaptris.kafka.ConfigBuilder
DEFAULT_KEY_DESERIALIZER, DEFAULT_KEY_SERIALIZER, DEFAULT_VALUE_DESERIALIZER, DEFAULT_VALUE_SERIALIZER, KEY_DESERIALIZER_FACTORY_CONFIG
-
-
Constructor Summary
Constructors Constructor Description AdvancedConfigBuilder()
AdvancedConfigBuilder(KeyValuePairSet cfg)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<java.lang.String,java.lang.Object>
build()
Build a configuration suitable for both a consumer and producer.java.util.Map<java.lang.String,java.lang.Object>
build(ConfigBuilder.KeyFilter f)
Build a configuration with a filter applied to the config names.KeyValuePairSet
getConfig()
void
setConfig(KeyValuePairSet config)
-
-
-
Field Detail
-
log
protected transient org.slf4j.Logger log
-
PASSWORD_KEYS
public static final java.util.List<java.lang.String> PASSWORD_KEYS
List of keys that can beencoded
viaPassword.decode(String)
and externally resolved viaExternalResolver.resolve(String)
.Currently set to :
ssl.key.password, ssl.keystore.password, ssl.truststore.password
-
-
Constructor Detail
-
AdvancedConfigBuilder
public AdvancedConfigBuilder()
-
AdvancedConfigBuilder
public AdvancedConfigBuilder(KeyValuePairSet cfg)
-
-
Method Detail
-
getConfig
public KeyValuePairSet getConfig()
- Returns:
- the config
-
setConfig
public void setConfig(KeyValuePairSet config)
- Parameters:
config
- the config to set
-
build
public java.util.Map<java.lang.String,java.lang.Object> build() throws CoreException
Description copied from interface:ConfigBuilder
Build a configuration suitable for both a consumer and producer.- Specified by:
build
in interfaceConfigBuilder
- Returns:
- the configuration
- Throws:
CoreException
- wrapping any underlying exception.
-
build
public java.util.Map<java.lang.String,java.lang.Object> build(ConfigBuilder.KeyFilter f) throws CoreException
Description copied from interface:ConfigBuilder
Build a configuration with a filter applied to the config names.- Specified by:
build
in interfaceConfigBuilder
- Parameters:
f
- the keys to keep.- Returns:
- the configuration
- Throws:
CoreException
- wrapping any underlying exception.- See Also:
ConfigDefinition
-
-