Package org.apache.kafka.streams.kstream
Class Consumed<K,V>
- java.lang.Object
-
- org.apache.kafka.streams.kstream.Consumed<K,V>
-
- Type Parameters:
K- type of record keyV- type of record value
- Direct Known Subclasses:
ConsumedInternal
public class Consumed<K,V> extends java.lang.ObjectTheConsumedclass is used to define the optional parameters when usingStreamsBuilderto build instances ofKStream,KTable, andGlobalKTable.For example, you can read a topic as
KStreamwith a custom timestamp extractor and specify the corresponding key and value serdes like:
Similarly, you can read a topic asStreamsBuilder builder = new StreamsBuilder(); KStream<String, Long> stream = builder.stream( "topicName", Consumed.with(Serdes.String(), Serdes.Long()) .withTimestampExtractor(new LogAndSkipOnInvalidTimestamp()));KTablewith a customauto.offset.resetconfiguration and force a state storematerializationto access the content via interactive queries:StreamsBuilder builder = new StreamsBuilder(); KTable<Integer, Integer> table = builder.table( "topicName", Consumed.with(AutoOffsetReset.LATEST), Materialized.as("queryable-store-name"));
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.kafka.common.serialization.Serde<K>keySerdeprotected java.lang.StringprocessorNameprotected Topology.AutoOffsetResetresetPolicyprotected TimestampExtractortimestampExtractorprotected org.apache.kafka.common.serialization.Serde<V>valueSerde
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <K,V>
Consumed<K,V>as(java.lang.String processorName)Create an instance ofConsumedwith provided processor name.booleanequals(java.lang.Object o)inthashCode()static <K,V>
Consumed<K,V>with(org.apache.kafka.common.serialization.Serde<K> keySerde, org.apache.kafka.common.serialization.Serde<V> valueSerde)Create an instance ofConsumedwith key and valueSerdes.static <K,V>
Consumed<K,V>with(org.apache.kafka.common.serialization.Serde<K> keySerde, org.apache.kafka.common.serialization.Serde<V> valueSerde, TimestampExtractor timestampExtractor, Topology.AutoOffsetReset resetPolicy)Create an instance ofConsumedwith the supplied arguments.static <K,V>
Consumed<K,V>with(TimestampExtractor timestampExtractor)Create an instance ofConsumedwith aTimestampExtractor.static <K,V>
Consumed<K,V>with(Topology.AutoOffsetReset resetPolicy)Create an instance ofConsumedwith aTopology.AutoOffsetReset.Consumed<K,V>withKeySerde(org.apache.kafka.common.serialization.Serde<K> keySerde)Configure the instance ofConsumedwith a keySerde.Consumed<K,V>withName(java.lang.String processorName)Configure the instance ofConsumedwith a processor name.Consumed<K,V>withOffsetResetPolicy(Topology.AutoOffsetReset resetPolicy)Configure the instance ofConsumedwith aTopology.AutoOffsetReset.Consumed<K,V>withTimestampExtractor(TimestampExtractor timestampExtractor)Configure the instance ofConsumedwith aTimestampExtractor.Consumed<K,V>withValueSerde(org.apache.kafka.common.serialization.Serde<V> valueSerde)Configure the instance ofConsumedwith a valueSerde.
-
-
-
Field Detail
-
keySerde
protected org.apache.kafka.common.serialization.Serde<K> keySerde
-
valueSerde
protected org.apache.kafka.common.serialization.Serde<V> valueSerde
-
timestampExtractor
protected TimestampExtractor timestampExtractor
-
resetPolicy
protected Topology.AutoOffsetReset resetPolicy
-
processorName
protected java.lang.String processorName
-
-
Method Detail
-
with
public static <K,V> Consumed<K,V> with(org.apache.kafka.common.serialization.Serde<K> keySerde, org.apache.kafka.common.serialization.Serde<V> valueSerde, TimestampExtractor timestampExtractor, Topology.AutoOffsetReset resetPolicy)
Create an instance ofConsumedwith the supplied arguments.nullvalues are acceptable.- Type Parameters:
K- key typeV- value type- Parameters:
keySerde- the key serde. Ifnullthe default key serde from config will be usedvalueSerde- the value serde. Ifnullthe default value serde from config will be usedtimestampExtractor- the timestamp extractor to used. Ifnullthe default timestamp extractor from config will be usedresetPolicy- the offset reset policy to be used. Ifnullthe default reset policy from config will be used- Returns:
- a new instance of
Consumed
-
with
public static <K,V> Consumed<K,V> with(org.apache.kafka.common.serialization.Serde<K> keySerde, org.apache.kafka.common.serialization.Serde<V> valueSerde)
Create an instance ofConsumedwith key and valueSerdes.- Type Parameters:
K- key typeV- value type- Parameters:
keySerde- the key serde. Ifnullthe default key serde from config will be usedvalueSerde- the value serde. Ifnullthe default value serde from config will be used- Returns:
- a new instance of
Consumed
-
with
public static <K,V> Consumed<K,V> with(TimestampExtractor timestampExtractor)
Create an instance ofConsumedwith aTimestampExtractor.- Type Parameters:
K- key typeV- value type- Parameters:
timestampExtractor- the timestamp extractor to used. Ifnullthe default timestamp extractor from config will be used- Returns:
- a new instance of
Consumed
-
with
public static <K,V> Consumed<K,V> with(Topology.AutoOffsetReset resetPolicy)
Create an instance ofConsumedwith aTopology.AutoOffsetReset.- Type Parameters:
K- key typeV- value type- Parameters:
resetPolicy- the offset reset policy to be used. Ifnullthe default reset policy from config will be used- Returns:
- a new instance of
Consumed
-
as
public static <K,V> Consumed<K,V> as(java.lang.String processorName)
Create an instance ofConsumedwith provided processor name.- Type Parameters:
K- key typeV- value type- Parameters:
processorName- the processor name to be used. Ifnulla default processor name will be generated- Returns:
- a new instance of
Consumed
-
withKeySerde
public Consumed<K,V> withKeySerde(org.apache.kafka.common.serialization.Serde<K> keySerde)
Configure the instance ofConsumedwith a keySerde.- Parameters:
keySerde- the key serde. Ifnullthe default key serde from config will be used- Returns:
- this
-
withValueSerde
public Consumed<K,V> withValueSerde(org.apache.kafka.common.serialization.Serde<V> valueSerde)
Configure the instance ofConsumedwith a valueSerde.- Parameters:
valueSerde- the value serde. Ifnullthe default value serde from config will be used- Returns:
- this
-
withTimestampExtractor
public Consumed<K,V> withTimestampExtractor(TimestampExtractor timestampExtractor)
Configure the instance ofConsumedwith aTimestampExtractor.- Parameters:
timestampExtractor- the timestamp extractor to used. Ifnullthe default timestamp extractor from config will be used- Returns:
- this
-
withOffsetResetPolicy
public Consumed<K,V> withOffsetResetPolicy(Topology.AutoOffsetReset resetPolicy)
Configure the instance ofConsumedwith aTopology.AutoOffsetReset.- Parameters:
resetPolicy- the offset reset policy to be used. Ifnullthe default reset policy from config will be used- Returns:
- this
-
withName
public Consumed<K,V> withName(java.lang.String processorName)
Configure the instance ofConsumedwith a processor name.- Parameters:
processorName- the processor name to be used. Ifnulla default processor name will be generated- Returns:
- this
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-