Package com.bakdata.kafka.consumer
Class ConsumerBuilder
java.lang.Object
com.bakdata.kafka.consumer.ConsumerBuilder
Provides all runtime configurations when running a
ConsumerApp-
Constructor Summary
ConstructorsConstructorDescriptionConsumerBuilder(@NonNull ConsumerTopicConfig topics, @NonNull Map<String, Object> kafkaProperties, @NonNull ConsumerExecutionOptions executionOptions) -
Method Summary
Modifier and TypeMethodDescriptionCreateAppConfigurationused by this appcom.bakdata.kafka.ConfiguratorCreateConfiguratorto configureSerdeandDeserializerusingkafkaProperties.<K,V> org.apache.kafka.clients.consumer.Consumer<K, V> Create a newConsumerusingkafkaProperties<K,V> org.apache.kafka.clients.consumer.Consumer<K, V> createConsumer(com.bakdata.kafka.Preconfigured<org.apache.kafka.common.serialization.Deserializer<K>> keyDeserializer, com.bakdata.kafka.Preconfigured<org.apache.kafka.common.serialization.Deserializer<V>> valueDeserializer) Create a newConsumerusingkafkaPropertiesand providedPreconfigureddeserializers.<K,V> org.apache.kafka.clients.consumer.Consumer<K, V> createConsumer(org.apache.kafka.common.serialization.Deserializer<K> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<V> valueDeserializer) Create a newConsumerusingkafkaPropertiesand providedDeserializer Deserializers.<K,V> DefaultConsumerRunnable<K, V> createDefaultConsumerRunnable(org.apache.kafka.clients.consumer.Consumer<K, V> consumer, Consumer<org.apache.kafka.clients.consumer.ConsumerRecords<K, V>> recordProcessor) Creates aDefaultConsumerRunnableusing the provided consumer, processor, andConsumerExecutionOptions.boolean@NonNull ConsumerExecutionOptions@NonNull ConsumerTopicConfiginthashCode()<K,V> void subscribeToAllTopics(org.apache.kafka.clients.consumer.Consumer<K, V> consumer) Subscribes the givenConsumerto all input topics and patterns configured intopics.toString()
-
Constructor Details
-
ConsumerBuilder
public ConsumerBuilder(@NonNull @NonNull ConsumerTopicConfig topics, @NonNull @NonNull Map<String, Object> kafkaProperties, @NonNull @NonNull ConsumerExecutionOptions executionOptions)
-
-
Method Details
-
createConsumer
public <K,V> org.apache.kafka.clients.consumer.Consumer<K,V> createConsumer()Create a newConsumerusingkafkaProperties- Type Parameters:
K- type of keysV- type of values- Returns:
Consumer- See Also:
-
KafkaConsumer(Map)
-
createConsumer
public <K,V> org.apache.kafka.clients.consumer.Consumer<K,V> createConsumer(org.apache.kafka.common.serialization.Deserializer<K> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<V> valueDeserializer) Create a newConsumerusingkafkaPropertiesand providedDeserializer Deserializers. The deserializers will be configured automatically.- Type Parameters:
K- type of keysV- type of values- Parameters:
keyDeserializer-Deserializerto use for keysvalueDeserializer-Deserializerto use for values- Returns:
Consumer- See Also:
-
KafkaConsumer(Map, Deserializer, Deserializer)
-
createConsumer
public <K,V> org.apache.kafka.clients.consumer.Consumer<K,V> createConsumer(com.bakdata.kafka.Preconfigured<org.apache.kafka.common.serialization.Deserializer<K>> keyDeserializer, com.bakdata.kafka.Preconfigured<org.apache.kafka.common.serialization.Deserializer<V>> valueDeserializer) Create a newConsumerusingkafkaPropertiesand providedPreconfigureddeserializers. The preconfiguration will be resolved to yield configuredDeserializersthat are used to create the newConsumer.- Type Parameters:
K- type of keysV- type of values- Parameters:
keyDeserializer-Preconfiguredto use for keysvalueDeserializer-Preconfiguredto use for values- Returns:
Consumer- See Also:
-
KafkaConsumer(Map, Deserializer, Deserializer)
-
createConfigurator
public com.bakdata.kafka.Configurator createConfigurator()CreateConfiguratorto configureSerdeandDeserializerusingkafkaProperties.- Returns:
Configurator
-
createConfiguration
CreateAppConfigurationused by this app- Returns:
AppConfiguration
-
subscribeToAllTopics
public <K,V> void subscribeToAllTopics(org.apache.kafka.clients.consumer.Consumer<K, V> consumer) Subscribes the givenConsumerto all input topics and patterns configured intopics. This includes all topics fromgetInputTopics(),getLabeledInputTopics(),getInputPattern(), andgetLabeledInputPatterns().- Type Parameters:
K- type of keysV- type of values- Parameters:
consumer-Consumerinstance to subscribe
-
createDefaultConsumerRunnable
public <K,V> DefaultConsumerRunnable<K,V> createDefaultConsumerRunnable(org.apache.kafka.clients.consumer.Consumer<K, V> consumer, Consumer<org.apache.kafka.clients.consumer.ConsumerRecords<K, V>> recordProcessor) Creates aDefaultConsumerRunnableusing the provided consumer, processor, andConsumerExecutionOptions.- Type Parameters:
K- type of keysV- type of values- Parameters:
consumer-Consumerto be used by the runnablerecordProcessor-Consumerto processConsumerRecords- Returns:
- A new
DefaultConsumerRunnableinstance
-
getTopics
-
getKafkaProperties
-
getExecutionOptions
-
equals
-
hashCode
public int hashCode() -
toString
-