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
public class Consumed<K,V> extends Object
TheConsumed
class is used to define the optional parameters when usingStreamsBuilder
to build instances ofKStream
,KTable
, andGlobalKTable
.For example, you can read a topic as
KStream
with 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()));
KTable
with a customauto.offset.reset
configuration and force a state storematerialization
to 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 Serde<K>
keySerde
protected String
processorName
protected Topology.AutoOffsetReset
resetPolicy
protected TimestampExtractor
timestampExtractor
protected 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(String processorName)
Create an instance ofConsumed
with provided processor name.boolean
equals(Object o)
int
hashCode()
static <K,V>
Consumed<K,V>with(Serde<K> keySerde, Serde<V> valueSerde)
static <K,V>
Consumed<K,V>with(Serde<K> keySerde, Serde<V> valueSerde, TimestampExtractor timestampExtractor, Topology.AutoOffsetReset resetPolicy)
Create an instance ofConsumed
with the supplied arguments.static <K,V>
Consumed<K,V>with(TimestampExtractor timestampExtractor)
Create an instance ofConsumed
with aTimestampExtractor
.static <K,V>
Consumed<K,V>with(Topology.AutoOffsetReset resetPolicy)
Create an instance ofConsumed
with aTopology.AutoOffsetReset
.Consumed<K,V>
withKeySerde(Serde<K> keySerde)
Consumed<K,V>
withName(String processorName)
Configure the instance ofConsumed
with a processor name.Consumed<K,V>
withOffsetResetPolicy(Topology.AutoOffsetReset resetPolicy)
Configure the instance ofConsumed
with aTopology.AutoOffsetReset
.Consumed<K,V>
withTimestampExtractor(TimestampExtractor timestampExtractor)
Configure the instance ofConsumed
with aTimestampExtractor
.Consumed<K,V>
withValueSerde(Serde<V> valueSerde)
-
-
-
Field Detail
-
timestampExtractor
protected TimestampExtractor timestampExtractor
-
resetPolicy
protected Topology.AutoOffsetReset resetPolicy
-
processorName
protected String processorName
-
-
Method Detail
-
with
public static <K,V> Consumed<K,V> with(Serde<K> keySerde, Serde<V> valueSerde, TimestampExtractor timestampExtractor, Topology.AutoOffsetReset resetPolicy)
Create an instance ofConsumed
with the supplied arguments.null
values are acceptable.- Type Parameters:
K
- key typeV
- value type- Parameters:
keySerde
- the key serde. Ifnull
the default key serde from config will be usedvalueSerde
- the value serde. Ifnull
the default value serde from config will be usedtimestampExtractor
- the timestamp extractor to used. Ifnull
the default timestamp extractor from config will be usedresetPolicy
- the offset reset policy to be used. Ifnull
the default reset policy from config will be used- Returns:
- a new instance of
Consumed
-
with
public static <K,V> Consumed<K,V> with(Serde<K> keySerde, Serde<V> valueSerde)
- Type Parameters:
K
- key typeV
- value type- Parameters:
keySerde
- the key serde. Ifnull
the default key serde from config will be usedvalueSerde
- the value serde. Ifnull
the 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 ofConsumed
with aTimestampExtractor
.- Type Parameters:
K
- key typeV
- value type- Parameters:
timestampExtractor
- the timestamp extractor to used. Ifnull
the 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 ofConsumed
with aTopology.AutoOffsetReset
.- Type Parameters:
K
- key typeV
- value type- Parameters:
resetPolicy
- the offset reset policy to be used. Ifnull
the default reset policy from config will be used- Returns:
- a new instance of
Consumed
-
as
public static <K,V> Consumed<K,V> as(String processorName)
Create an instance ofConsumed
with provided processor name.- Type Parameters:
K
- key typeV
- value type- Parameters:
processorName
- the processor name to be used. Ifnull
a default processor name will be generated- Returns:
- a new instance of
Consumed
-
withKeySerde
public Consumed<K,V> withKeySerde(Serde<K> keySerde)
- Parameters:
keySerde
- the key serde. Ifnull
the default key serde from config will be used- Returns:
- this
-
withValueSerde
public Consumed<K,V> withValueSerde(Serde<V> valueSerde)
- Parameters:
valueSerde
- the value serde. Ifnull
the default value serde from config will be used- Returns:
- this
-
withTimestampExtractor
public Consumed<K,V> withTimestampExtractor(TimestampExtractor timestampExtractor)
Configure the instance ofConsumed
with aTimestampExtractor
.- Parameters:
timestampExtractor
- the timestamp extractor to used. Ifnull
the default timestamp extractor from config will be used- Returns:
- this
-
withOffsetResetPolicy
public Consumed<K,V> withOffsetResetPolicy(Topology.AutoOffsetReset resetPolicy)
Configure the instance ofConsumed
with aTopology.AutoOffsetReset
.- Parameters:
resetPolicy
- the offset reset policy to be used. Ifnull
the default reset policy from config will be used- Returns:
- this
-
withName
public Consumed<K,V> withName(String processorName)
Configure the instance ofConsumed
with a processor name.- Parameters:
processorName
- the processor name to be used. Ifnull
a default processor name will be generated- Returns:
- this
-
-