Class AdvancedConfigBuilder

  • All Implemented Interfaces:
    ConfigBuilder
    Direct Known Subclasses:
    AdvancedConsumerConfigBuilder, AdvancedProducerConfigBuilder

    public class AdvancedConfigBuilder
    extends java.lang.Object
    implements ConfigBuilder
    Implementation of ConfigBuilder 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 using ExternalResolver.resolve(String) and Password.decode(String) appropriately. Because no checking is done, it will be possible to get some warnings about unused configuration (e.g. you have configured linger.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 classes org.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 a StringDeserializer; and the value.deserializer property is an AdaptrisMessageDeserializer.

    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.

    • 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 be encoded via Password.decode(String) and externally resolved via ExternalResolver.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

      • 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 interface ConfigBuilder
        Returns:
        the configuration
        Throws:
        CoreException - wrapping any underlying exception.