Package com.bakdata.kafka
Class ReaderBuilder<K,V>
java.lang.Object
com.bakdata.kafka.ReaderBuilder<K,V>
- Type Parameters:
K- type of keys deserialized by the readerV- type of values deserialized by the reader
Read data from a Kafka cluster
-
Method Summary
Modifier and TypeMethodDescriptionCreate a newConsumerfor a Kafka clusterRead all data from a topic.Add a consumer configuration<KN,VN> ReaderBuilder<KN, VN> withDeserializers(com.bakdata.kafka.Preconfigured<org.apache.kafka.common.serialization.Deserializer<KN>> keyDeserializer, com.bakdata.kafka.Preconfigured<org.apache.kafka.common.serialization.Deserializer<VN>> valueDeserializer) Provide custom deserializers for keys and values.<KN,VN> ReaderBuilder<KN, VN> withDeserializers(org.apache.kafka.common.serialization.Deserializer<KN> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<VN> valueDeserializer) Provide custom deserializers for keys and values.<KN> ReaderBuilder<KN,V> withKeyDeserializer(com.bakdata.kafka.Preconfigured<org.apache.kafka.common.serialization.Deserializer<KN>> keyDeserializer) Provide custom deserializers for keys.<KN> ReaderBuilder<KN,V> withKeyDeserializer(org.apache.kafka.common.serialization.Deserializer<KN> keyDeserializer) Provide custom deserializers for keys.<VN> ReaderBuilder<K,VN> withValueDeserializer(com.bakdata.kafka.Preconfigured<org.apache.kafka.common.serialization.Deserializer<VN>> valueDeserializer) Provide custom deserializers for values.<VN> ReaderBuilder<K,VN> withValueDeserializer(org.apache.kafka.common.serialization.Deserializer<VN> valueDeserializer) Provide custom deserializers for values.
-
Method Details
-
with
Add a consumer configuration- Parameters:
key- configuration keyvalue- configuration value- Returns:
ReaderBuilderwith added configuration
-
from
public List<org.apache.kafka.clients.consumer.ConsumerRecord<K,V>> from(String topic, Duration timeout) Read all data from a topic. This method is idempotent, meaning calling it multiple times will read the same data unless the data in the topic changes.- Parameters:
topic- topic to read fromtimeout- consumer poll timeout- Returns:
- consumed records
-
createConsumer
Create a newConsumerfor a Kafka cluster- Returns:
Consumer
-
withDeserializers
public <KN,VN> ReaderBuilder<KN,VN> withDeserializers(com.bakdata.kafka.Preconfigured<org.apache.kafka.common.serialization.Deserializer<KN>> keyDeserializer, com.bakdata.kafka.Preconfigured<org.apache.kafka.common.serialization.Deserializer<VN>> valueDeserializer) Provide custom deserializers for keys and values. Deserializers are configured automatically.- Type Parameters:
KN- type of keysVN- type of values- Parameters:
keyDeserializer- serializer for keysvalueDeserializer- serializer for values- Returns:
ReaderBuilderwith custom deserializers
-
withDeserializers
public <KN,VN> ReaderBuilder<KN,VN> withDeserializers(org.apache.kafka.common.serialization.Deserializer<KN> keyDeserializer, org.apache.kafka.common.serialization.Deserializer<VN> valueDeserializer) Provide custom deserializers for keys and values. Deserializers are configured automatically.- Type Parameters:
KN- type of keysVN- type of values- Parameters:
keyDeserializer- serializer for keysvalueDeserializer- serializer for values- Returns:
ReaderBuilderwith custom deserializers- See Also:
-
withKeyDeserializer
public <KN> ReaderBuilder<KN,V> withKeyDeserializer(com.bakdata.kafka.Preconfigured<org.apache.kafka.common.serialization.Deserializer<KN>> keyDeserializer) Provide custom deserializers for keys. Deserializer is configured automatically.- Type Parameters:
KN- type of keys- Parameters:
keyDeserializer- serializer for keys- Returns:
ReaderBuilderwith custom key deserializer
-
withKeyDeserializer
public <KN> ReaderBuilder<KN,V> withKeyDeserializer(org.apache.kafka.common.serialization.Deserializer<KN> keyDeserializer) Provide custom deserializers for keys. Deserializer is configured automatically.- Type Parameters:
KN- type of keys- Parameters:
keyDeserializer- serializer for keys- Returns:
ReaderBuilderwith custom key deserializer- See Also:
-
withValueDeserializer
public <VN> ReaderBuilder<K,VN> withValueDeserializer(com.bakdata.kafka.Preconfigured<org.apache.kafka.common.serialization.Deserializer<VN>> valueDeserializer) Provide custom deserializers for values. Deserializer is configured automatically.- Type Parameters:
VN- type of values- Parameters:
valueDeserializer- serializer for values- Returns:
ReaderBuilderwith custom values deserializer
-
withValueDeserializer
public <VN> ReaderBuilder<K,VN> withValueDeserializer(org.apache.kafka.common.serialization.Deserializer<VN> valueDeserializer) Provide custom deserializers for values. Deserializer is configured automatically.- Type Parameters:
VN- type of values- Parameters:
valueDeserializer- serializer for values- Returns:
ReaderBuilderwith custom values deserializer- See Also:
-