/** * A consumer is instantiated by providing a set of key-value pairs as configuration, and a key and a value {@link Deserializer}. * <p> * Valid configuration strings are documented at {@link ConsumerConfig}. * <p> * Note: after creating a {@code KafkaConsumer} you must always {@link #close()} it to avoid resource leaks. * * @param configs The consumer configs * @param keyDeserializer The deserializer for key that implements {@link Deserializer}. The configure() method * won't be called in the consumer when the deserializer is passed in directly. * @param valueDeserializer The deserializer for value that implements {@link Deserializer}. The configure() method * won't be called in the consumer when the deserializer is passed in directly. */ public KafkaConsumer(Map<String, Object> configs, Deserializer<K> keyDeserializer, Deserializer<V> valueDeserializer) { this(new ConsumerConfig(ConsumerConfig.addDeserializerToConfig(configs, keyDeserializer, valueDeserializer)), keyDeserializer, valueDeserializer); }
/** * A consumer is instantiated by providing a {@link java.util.Properties} object as configuration, and a * key and a value {@link Deserializer}. * <p> * Valid configuration strings are documented at {@link ConsumerConfig}. * <p> * Note: after creating a {@code KafkaConsumer} you must always {@link #close()} it to avoid resource leaks. * * @param properties The consumer configuration properties * @param keyDeserializer The deserializer for key that implements {@link Deserializer}. The configure() method * won't be called in the consumer when the deserializer is passed in directly. * @param valueDeserializer The deserializer for value that implements {@link Deserializer}. The configure() method * won't be called in the consumer when the deserializer is passed in directly. */ public KafkaConsumer(Properties properties, Deserializer<K> keyDeserializer, Deserializer<V> valueDeserializer) { this(new ConsumerConfig(ConsumerConfig.addDeserializerToConfig(properties, keyDeserializer, valueDeserializer)), keyDeserializer, valueDeserializer); }
List<ConsumerInterceptor<K, V>> interceptorList = (List) (new ConsumerConfig(userProvidedConfigs, false)).getConfiguredInstances(ConsumerConfig.INTERCEPTOR_CLASSES_CONFIG, ConsumerInterceptor.class); this.interceptors = new ConsumerInterceptors<>(interceptorList);
/** * A consumer is instantiated by providing a set of key-value pairs as configuration, a {@link ConsumerRebalanceCallback} * implementation, a key and a value {@link Deserializer}. * <p> * Valid configuration strings are documented at {@link ConsumerConfig} * @param configs The consumer configs * @param callback A callback interface that the user can implement to manage customized offsets on the start and end of * every rebalance operation. * @param keyDeserializer The deserializer for key that implements {@link Deserializer}. The configure() method won't * be called when the deserializer is passed in directly. * @param valueDeserializer The deserializer for value that implements {@link Deserializer}. The configure() method * won't be called when the deserializer is passed in directly. */ public KafkaConsumer(Map<String, Object> configs, ConsumerRebalanceCallback callback, Deserializer<K> keyDeserializer, Deserializer<V> valueDeserializer) { this(new ConsumerConfig(addDeserializerToConfig(configs, keyDeserializer, valueDeserializer)), callback, keyDeserializer, valueDeserializer); }
/** * A consumer is instantiated by providing a {@link java.util.Properties} object as configuration and a * {@link ConsumerRebalanceCallback} implementation, a key and a value {@link Deserializer}. * <p> * Valid configuration strings are documented at {@link ConsumerConfig} * @param properties The consumer configuration properties * @param callback A callback interface that the user can implement to manage customized offsets on the start and end of * every rebalance operation. * @param keyDeserializer The deserializer for key that implements {@link Deserializer}. The configure() method won't * be called when the deserializer is passed in directly. * @param valueDeserializer The deserializer for value that implements {@link Deserializer}. The configure() method * won't be called when the deserializer is passed in directly. */ public KafkaConsumer(Properties properties, ConsumerRebalanceCallback callback, Deserializer<K> keyDeserializer, Deserializer<V> valueDeserializer) { this(new ConsumerConfig(addDeserializerToConfig(properties, keyDeserializer, valueDeserializer)), callback, keyDeserializer, valueDeserializer); }