Class InternalTopologyBuilder


  • public class InternalTopologyBuilder
    extends java.lang.Object
    • Constructor Detail

      • InternalTopologyBuilder

        public InternalTopologyBuilder()
    • Method Detail

      • setApplicationIdAndInternalStream

        public final InternalTopologyBuilder setApplicationIdAndInternalStream​(java.lang.String applicationId,
                                                                               java.lang.String internalStream,
                                                                               java.lang.String internalStreamCompacted)
      • 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 <K,​V> void addGlobalStore​(StoreBuilder<?> storeBuilder,
                                                     java.lang.String sourceName,
                                                     TimestampExtractor timestampExtractor,
                                                     org.apache.kafka.common.serialization.Deserializer<K> keyDeserializer,
                                                     org.apache.kafka.common.serialization.Deserializer<V> valueDeserializer,
                                                     java.lang.String topic,
                                                     java.lang.String processorName,
                                                     ProcessorSupplier<K,​V> stateUpdateSupplier)
      • connectProcessorAndStateStores

        public final void connectProcessorAndStateStores​(java.lang.String processorName,
                                                         java.lang.String... stateStoreNames)
      • getChangelogTopicToStore

        public java.util.Map<java.lang.String,​java.lang.String> getChangelogTopicToStore()
      • connectSourceStoreAndTopic

        public void connectSourceStoreAndTopic​(java.lang.String sourceStoreName,
                                               java.lang.String topic)
      • addInternalTopic

        public final void addInternalTopic​(java.lang.String topicName,
                                           InternalTopicProperties internalTopicProperties)
      • copartitionSources

        public final void copartitionSources​(java.util.Collection<java.lang.String> sourceNodes)
      • maybeUpdateCopartitionSourceGroups

        public final void maybeUpdateCopartitionSourceGroups​(java.lang.String replacedNodeName,
                                                             java.lang.String optimizedNodeName)
      • validateCopartition

        public void validateCopartition()
      • nodeGroups

        public java.util.Map<java.lang.Integer,​java.util.Set<java.lang.String>> nodeGroups()
      • buildTopology

        public ProcessorTopology buildTopology()
        Returns:
        the full topology minus any global state
      • buildSubtopology

        public ProcessorTopology buildSubtopology​(int topicGroupId)
        Parameters:
        topicGroupId - group of topics corresponding to a single subtopology
        Returns:
        subset of the full topology
      • buildGlobalStateTopology

        public ProcessorTopology buildGlobalStateTopology()
        Builds the topology for any global state stores
        Returns:
        ProcessorTopology of global state
      • globalStateStores

        public java.util.Map<java.lang.String,​StateStore> globalStateStores()
        Get any global StateStores that are part of the topology
        Returns:
        map containing all global StateStores
      • 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
      • nodeToSourceTopics

        public java.util.Map<java.lang.String,​java.util.List<java.lang.String>> nodeToSourceTopics()
      • 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()
      • sourceTopicsForStore

        public java.util.Collection<java.lang.String> sourceTopicsForStore​(java.lang.String storeName)
      • copartitionGroups

        public java.util.Collection<java.util.Set<java.lang.String>> copartitionGroups()
      • decoratePseudoTopic

        public java.lang.String decoratePseudoTopic​(java.lang.String topic)
      • hasNoNonGlobalTopology

        public boolean hasNoNonGlobalTopology()
      • sourceTopicNames

        public java.util.Set<java.lang.String> sourceTopicNames()