Class InternalTopologyBuilder
- java.lang.Object
-
- org.apache.kafka.streams.processor.internals.InternalTopologyBuilder
-
public class InternalTopologyBuilder extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
InternalTopologyBuilder.AbstractNode
static class
InternalTopologyBuilder.GlobalStore
static class
InternalTopologyBuilder.Processor
static class
InternalTopologyBuilder.Sink
static class
InternalTopologyBuilder.Source
static class
InternalTopologyBuilder.StateStoreFactory
static class
InternalTopologyBuilder.SubscriptionUpdates
Used to capture subscribed topic via Patterns discovered during the partition assignment process.static class
InternalTopologyBuilder.Subtopology
static class
InternalTopologyBuilder.TopicsInfo
static class
InternalTopologyBuilder.TopologyDescription
-
Constructor Summary
Constructors Constructor Description InternalTopologyBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addGlobalStore(StoreBuilder<KeyValueStore> storeBuilder, java.lang.String sourceName, TimestampExtractor timestampExtractor, org.apache.kafka.common.serialization.Deserializer keyDeserializer, org.apache.kafka.common.serialization.Deserializer valueDeserializer, java.lang.String topic, java.lang.String processorName, ProcessorSupplier stateUpdateSupplier)
void
addInternalTopic(java.lang.String topicName)
void
addProcessor(java.lang.String name, ProcessorSupplier supplier, java.lang.String... predecessorNames)
<K,V>
voidaddSink(java.lang.String name, java.lang.String topic, org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valSerializer, StreamPartitioner<? super K,? super V> partitioner, java.lang.String... predecessorNames)
<K,V>
voidaddSink(java.lang.String name, TopicNameExtractor<K,V> topicExtractor, org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valSerializer, StreamPartitioner<? super K,? super V> partitioner, java.lang.String... predecessorNames)
void
addSource(Topology.AutoOffsetReset offsetReset, java.lang.String name, TimestampExtractor timestampExtractor, org.apache.kafka.common.serialization.Deserializer keyDeserializer, org.apache.kafka.common.serialization.Deserializer valDeserializer, java.lang.String... topics)
void
addSource(Topology.AutoOffsetReset offsetReset, java.lang.String name, TimestampExtractor timestampExtractor, org.apache.kafka.common.serialization.Deserializer keyDeserializer, org.apache.kafka.common.serialization.Deserializer valDeserializer, java.util.regex.Pattern topicPattern)
void
addStateStore(StoreBuilder storeBuilder, boolean allowOverride, java.lang.String... processorNames)
void
addStateStore(StoreBuilder storeBuilder, java.lang.String... processorNames)
java.util.Set<java.lang.String>
allStateStoreName()
ProcessorTopology
build()
ProcessorTopology
build(java.lang.Integer topicGroupId)
ProcessorTopology
buildGlobalStateTopology()
Builds the topology for any global state storesvoid
connectProcessorAndStateStores(java.lang.String processorName, java.lang.String... stateStoreNames)
java.util.Collection<java.util.Set<java.lang.String>>
copartitionGroups()
void
copartitionSources(java.util.Collection<java.lang.String> sourceNodes)
InternalTopologyBuilder.TopologyDescription
describe()
java.util.regex.Pattern
earliestResetTopicsPattern()
java.util.Set<java.lang.String>
getSourceTopicNames()
java.util.Map<java.lang.String,InternalTopologyBuilder.StateStoreFactory>
getStateStores()
java.util.Map<java.lang.String,StateStore>
globalStateStores()
Get any globalStateStore
s that are part of the topologyjava.util.regex.Pattern
latestResetTopicsPattern()
void
markSourceStoreAndTopic(StoreBuilder storeBuilder, java.lang.String topic)
java.util.Map<java.lang.Integer,java.util.Set<java.lang.String>>
nodeGroups()
InternalTopologyBuilder
rewriteTopology(StreamsConfig config)
InternalTopologyBuilder
setApplicationIdAndInternalStream(java.lang.String applicationId, java.lang.String internalStream, java.lang.String internalStreamCompacted)
void
setDefaultStream(java.lang.String defaultStream)
java.util.regex.Pattern
sourceTopicPattern()
java.util.Map<java.lang.String,java.util.List<java.lang.String>>
stateStoreNameToSourceTopics()
InternalTopologyBuilder.SubscriptionUpdates
subscriptionUpdates()
java.util.Map<java.lang.Integer,InternalTopologyBuilder.TopicsInfo>
topicGroups()
Returns the map of topic groups keyed by the group id.void
updateSubscribedTopics(java.util.Set<java.lang.String> topics, java.lang.String logPrefix)
-
-
-
Method Detail
-
setApplicationIdAndInternalStream
public final InternalTopologyBuilder setApplicationIdAndInternalStream(java.lang.String applicationId, java.lang.String internalStream, java.lang.String internalStreamCompacted)
-
rewriteTopology
public final InternalTopologyBuilder rewriteTopology(StreamsConfig config)
-
setDefaultStream
public final void setDefaultStream(java.lang.String defaultStream)
-
addSource
public final void addSource(Topology.AutoOffsetReset offsetReset, java.lang.String name, TimestampExtractor timestampExtractor, org.apache.kafka.common.serialization.Deserializer keyDeserializer, org.apache.kafka.common.serialization.Deserializer valDeserializer, java.lang.String... topics)
-
addSource
public final void addSource(Topology.AutoOffsetReset offsetReset, java.lang.String name, TimestampExtractor timestampExtractor, org.apache.kafka.common.serialization.Deserializer keyDeserializer, org.apache.kafka.common.serialization.Deserializer valDeserializer, java.util.regex.Pattern topicPattern)
-
addSink
public final <K,V> void addSink(java.lang.String name, java.lang.String topic, org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valSerializer, StreamPartitioner<? super K,? super V> partitioner, java.lang.String... predecessorNames)
-
addSink
public final <K,V> void addSink(java.lang.String name, TopicNameExtractor<K,V> topicExtractor, org.apache.kafka.common.serialization.Serializer<K> keySerializer, org.apache.kafka.common.serialization.Serializer<V> valSerializer, StreamPartitioner<? super K,? super V> partitioner, java.lang.String... predecessorNames)
-
addProcessor
public final void addProcessor(java.lang.String name, ProcessorSupplier supplier, java.lang.String... predecessorNames)
-
addStateStore
public final void addStateStore(StoreBuilder storeBuilder, java.lang.String... processorNames)
-
addStateStore
public final void addStateStore(StoreBuilder storeBuilder, boolean allowOverride, java.lang.String... processorNames)
-
addGlobalStore
public final void addGlobalStore(StoreBuilder<KeyValueStore> storeBuilder, java.lang.String sourceName, TimestampExtractor timestampExtractor, org.apache.kafka.common.serialization.Deserializer keyDeserializer, org.apache.kafka.common.serialization.Deserializer valueDeserializer, java.lang.String topic, java.lang.String processorName, ProcessorSupplier stateUpdateSupplier)
-
connectProcessorAndStateStores
public final void connectProcessorAndStateStores(java.lang.String processorName, java.lang.String... stateStoreNames)
-
markSourceStoreAndTopic
public final void markSourceStoreAndTopic(StoreBuilder storeBuilder, java.lang.String topic)
-
addInternalTopic
public final void addInternalTopic(java.lang.String topicName)
-
copartitionSources
public final void copartitionSources(java.util.Collection<java.lang.String> sourceNodes)
-
nodeGroups
public java.util.Map<java.lang.Integer,java.util.Set<java.lang.String>> nodeGroups()
-
build
public ProcessorTopology build()
-
build
public ProcessorTopology build(java.lang.Integer topicGroupId)
-
buildGlobalStateTopology
public ProcessorTopology buildGlobalStateTopology()
Builds the topology for any global state stores- Returns:
- ProcessorTopology
-
globalStateStores
public java.util.Map<java.lang.String,StateStore> globalStateStores()
Get any globalStateStore
s that are part of the topology- Returns:
- map containing all global
StateStore
s
-
allStateStoreName
public java.util.Set<java.lang.String> allStateStoreName()
-
topicGroups
public java.util.Map<java.lang.Integer,InternalTopologyBuilder.TopicsInfo> topicGroups()
Returns the map of topic groups keyed by the group id. A topic group is a group of topics in the same task.- Returns:
- groups of topic names
-
earliestResetTopicsPattern
public java.util.regex.Pattern earliestResetTopicsPattern()
-
latestResetTopicsPattern
public java.util.regex.Pattern latestResetTopicsPattern()
-
stateStoreNameToSourceTopics
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> stateStoreNameToSourceTopics()
-
copartitionGroups
public java.util.Collection<java.util.Set<java.lang.String>> copartitionGroups()
-
subscriptionUpdates
public InternalTopologyBuilder.SubscriptionUpdates subscriptionUpdates()
-
sourceTopicPattern
public java.util.regex.Pattern sourceTopicPattern()
-
describe
public InternalTopologyBuilder.TopologyDescription describe()
-
updateSubscribedTopics
public void updateSubscribedTopics(java.util.Set<java.lang.String> topics, java.lang.String logPrefix)
-
getSourceTopicNames
public java.util.Set<java.lang.String> getSourceTopicNames()
-
getStateStores
public java.util.Map<java.lang.String,InternalTopologyBuilder.StateStoreFactory> getStateStores()
-
-