| <!DOCTYPE HTML> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (17) --> |
| <title>KafkaStreams (kafka 3.6.1 API)</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="description" content="declaration: package: org.apache.kafka.streams, class: KafkaStreams"> |
| <meta name="generator" content="javadoc/ClassWriterImpl"> |
| <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style"> |
| <script type="text/javascript" src="../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../script-dir/jquery-3.5.1.min.js"></script> |
| <script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script> |
| </head> |
| <body class="class-declaration-page"> |
| <script type="text/javascript">var evenRowColor = "even-row-color"; |
| var oddRowColor = "odd-row-color"; |
| var tableTab = "table-tab"; |
| var activeTableTab = "active-table-tab"; |
| var pathtoroot = "../../../../"; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <div class="flex-box"> |
| <header role="banner" class="flex-header"> |
| <nav role="navigation"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="top-nav" id="navbar-top"> |
| <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div> |
| <ul id="navbar-top-firstrow" class="nav-list" title="Navigation"> |
| <li><a href="../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="nav-bar-cell1-rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../help-doc.html#class">Help</a></li> |
| </ul> |
| </div> |
| <div class="sub-nav"> |
| <div> |
| <ul class="sub-nav-list"> |
| <li>Summary: </li> |
| <li><a href="#nested-class-summary">Nested</a> | </li> |
| <li><a href="#field-summary">Field</a> | </li> |
| <li><a href="#constructor-summary">Constr</a> | </li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| <ul class="sub-nav-list"> |
| <li>Detail: </li> |
| <li><a href="#field-detail">Field</a> | </li> |
| <li><a href="#constructor-detail">Constr</a> | </li> |
| <li><a href="#method-detail">Method</a></li> |
| </ul> |
| </div> |
| <div class="nav-list-search"><label for="search-input">SEARCH:</label> |
| <input type="text" id="search-input" value="search" disabled="disabled"> |
| <input type="reset" id="reset-button" value="reset" disabled="disabled"> |
| </div> |
| </div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <span class="skip-nav" id="skip-navbar-top"></span></nav> |
| </header> |
| <div class="flex-content"> |
| <main role="main"> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">org.apache.kafka.streams</a></div> |
| <h1 title="Class KafkaStreams" class="title">Class KafkaStreams</h1> |
| </div> |
| <div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a> |
| <div class="inheritance">org.apache.kafka.streams.KafkaStreams</div> |
| </div> |
| <section class="class-description" id="class-description"> |
| <dl class="notes"> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/AutoCloseable.html" title="class or interface in java.lang" class="external-link">AutoCloseable</a></code></dd> |
| </dl> |
| <hr> |
| <div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">KafkaStreams</span> |
| <span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> |
| implements <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/AutoCloseable.html" title="class or interface in java.lang" class="external-link">AutoCloseable</a></span></div> |
| <div class="block">A Kafka client that allows for performing continuous computation on input coming from one or more input topics and |
| sends output to zero, one, or more output topics. |
| <p> |
| The computational logic can be specified either by using the <a href="Topology.html" title="class in org.apache.kafka.streams"><code>Topology</code></a> to define a DAG topology of |
| <a href="processor/api/Processor.html" title="interface in org.apache.kafka.streams.processor.api"><code>Processor</code></a>s or by using the <a href="StreamsBuilder.html" title="class in org.apache.kafka.streams"><code>StreamsBuilder</code></a> which provides the high-level DSL to define |
| transformations. |
| <p> |
| One <code>KafkaStreams</code> instance can contain one or more threads specified in the configs for the processing work. |
| <p> |
| A <code>KafkaStreams</code> instance can co-ordinate with any other instances with the same |
| <a href="StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> (whether in the same process, on other processes on this |
| machine, or on remote machines) as a single (possibly distributed) stream processing application. |
| These instances will divide up the work based on the assignment of the input topic partitions so that all partitions |
| are being consumed. |
| If instances are added or fail, all (remaining) instances will rebalance the partition assignment among themselves |
| to balance processing load and ensure that all input topic partitions are processed. |
| <p> |
| Internally a <code>KafkaStreams</code> instance contains a normal <a href="../clients/producer/KafkaProducer.html" title="class in org.apache.kafka.clients.producer"><code>KafkaProducer</code></a> and <a href="../clients/consumer/KafkaConsumer.html" title="class in org.apache.kafka.clients.consumer"><code>KafkaConsumer</code></a> instance |
| that is used for reading input and writing output. |
| <p> |
| A simple example might look like this: |
| <pre><code> |
| Properties props = new Properties(); |
| props.put(StreamsConfig.APPLICATION_ID_CONFIG, "my-stream-processing-application"); |
| props.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092"); |
| props.put(StreamsConfig.DEFAULT_KEY_SERDE_CLASS_CONFIG, Serdes.String().getClass()); |
| props.put(StreamsConfig.DEFAULT_VALUE_SERDE_CLASS_CONFIG, Serdes.String().getClass()); |
| |
| StreamsBuilder builder = new StreamsBuilder(); |
| builder.<String, String>stream("my-input-topic").mapValues(value -> String.valueOf(value.length())).to("my-output-topic"); |
| |
| KafkaStreams streams = new KafkaStreams(builder.build(), props); |
| streams.start(); |
| </code></pre></div> |
| <dl class="notes"> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list"> |
| <li><a href="StreamsBuilder.html" title="class in org.apache.kafka.streams"><code>StreamsBuilder</code></a></li> |
| <li><a href="Topology.html" title="class in org.apache.kafka.streams"><code>Topology</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| <section class="summary"> |
| <ul class="summary-list"> |
| <!-- ======== NESTED CLASS SUMMARY ======== --> |
| <li> |
| <section class="nested-class-summary" id="nested-class-summary"> |
| <h2>Nested Class Summary</h2> |
| <div class="caption"><span>Nested Classes</span></div> |
| <div class="summary-table three-column-summary"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Class</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color"><code>static class </code></div> |
| <div class="col-second even-row-color"><code><a href="KafkaStreams.CloseOptions.html" class="type-name-link" title="class in org.apache.kafka.streams">KafkaStreams.CloseOptions</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Class that handles options passed in case of <code>KafkaStreams</code> instance scale down</div> |
| </div> |
| <div class="col-first odd-row-color"><code>static enum </code></div> |
| <div class="col-second odd-row-color"><code><a href="KafkaStreams.State.html" class="type-name-link" title="enum class in org.apache.kafka.streams">KafkaStreams.State</a></code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Kafka Streams states are the possible state that a Kafka Streams instance can be in.</div> |
| </div> |
| <div class="col-first even-row-color"><code>static interface </code></div> |
| <div class="col-second even-row-color"><code><a href="KafkaStreams.StateListener.html" class="type-name-link" title="interface in org.apache.kafka.streams">KafkaStreams.StateListener</a></code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Listen to <a href="KafkaStreams.State.html" title="enum class in org.apache.kafka.streams"><code>KafkaStreams.State</code></a> change events.</div> |
| </div> |
| </div> |
| </section> |
| </li> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <li> |
| <section class="field-summary" id="field-summary"> |
| <h2>Field Summary</h2> |
| <div class="caption"><span>Fields</span></div> |
| <div class="summary-table three-column-summary"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Field</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color"><code>protected final <a href="../clients/admin/Admin.html" title="interface in org.apache.kafka.clients.admin">Admin</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#adminClient" class="member-name-link">adminClient</a></code></div> |
| <div class="col-last even-row-color"> </div> |
| <div class="col-first odd-row-color"><code>protected final <a href="StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a></code></div> |
| <div class="col-second odd-row-color"><code><a href="#applicationConfigs" class="member-name-link">applicationConfigs</a></code></div> |
| <div class="col-last odd-row-color"> </div> |
| <div class="col-first even-row-color"><code>protected final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#clientId" class="member-name-link">clientId</a></code></div> |
| <div class="col-last even-row-color"> </div> |
| <div class="col-first odd-row-color"><code>protected <a href="KafkaStreams.State.html" title="enum class in org.apache.kafka.streams">KafkaStreams.State</a></code></div> |
| <div class="col-second odd-row-color"><code><a href="#state" class="member-name-link">state</a></code></div> |
| <div class="col-last odd-row-color"> </div> |
| <div class="col-first even-row-color"><code>protected final org.apache.kafka.streams.processor.internals.StateDirectory</code></div> |
| <div class="col-second even-row-color"><code><a href="#stateDirectory" class="member-name-link">stateDirectory</a></code></div> |
| <div class="col-last even-row-color"> </div> |
| <div class="col-first odd-row-color"><code>protected final org.apache.kafka.streams.processor.internals.StreamsMetadataState</code></div> |
| <div class="col-second odd-row-color"><code><a href="#streamsMetadataState" class="member-name-link">streamsMetadataState</a></code></div> |
| <div class="col-last odd-row-color"> </div> |
| <div class="col-first even-row-color"><code>protected final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><org.apache.kafka.streams.processor.internals.StreamThread></code></div> |
| <div class="col-second even-row-color"><code><a href="#threads" class="member-name-link">threads</a></code></div> |
| <div class="col-last even-row-color"> </div> |
| <div class="col-first odd-row-color"><code>protected final org.apache.kafka.streams.processor.internals.TopologyMetadata</code></div> |
| <div class="col-second odd-row-color"><code><a href="#topologyMetadata" class="member-name-link">topologyMetadata</a></code></div> |
| <div class="col-last odd-row-color"> </div> |
| </div> |
| </section> |
| </li> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <li> |
| <section class="constructor-summary" id="constructor-summary"> |
| <h2>Constructor Summary</h2> |
| <div class="caption"><span>Constructors</span></div> |
| <div class="summary-table three-column-summary"> |
| <div class="table-header col-first">Modifier</div> |
| <div class="table-header col-second">Constructor</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color"><code>protected </code></div> |
| <div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.kafka.streams.processor.internals.TopologyMetadata,org.apache.kafka.streams.StreamsConfig,org.apache.kafka.streams.KafkaClientSupplier)" class="member-name-link">KafkaStreams</a><wbr>(org.apache.kafka.streams.processor.internals.TopologyMetadata topologyMetadata, |
| <a href="StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a> applicationConfigs, |
| <a href="KafkaClientSupplier.html" title="interface in org.apache.kafka.streams">KafkaClientSupplier</a> clientSupplier)</code></div> |
| <div class="col-last even-row-color"> </div> |
| <div class="col-first odd-row-color"><code> </code></div> |
| <div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(org.apache.kafka.streams.Topology,java.util.Properties)" class="member-name-link">KafkaStreams</a><wbr>(<a href="Topology.html" title="class in org.apache.kafka.streams">Topology</a> topology, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Properties.html" title="class or interface in java.util" class="external-link">Properties</a> props)</code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Create a <code>KafkaStreams</code> instance.</div> |
| </div> |
| <div class="col-first even-row-color"><code> </code></div> |
| <div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.kafka.streams.Topology,java.util.Properties,org.apache.kafka.common.utils.Time)" class="member-name-link">KafkaStreams</a><wbr>(<a href="Topology.html" title="class in org.apache.kafka.streams">Topology</a> topology, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Properties.html" title="class or interface in java.util" class="external-link">Properties</a> props, |
| org.apache.kafka.common.utils.Time time)</code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Create a <code>KafkaStreams</code> instance.</div> |
| </div> |
| <div class="col-first odd-row-color"><code> </code></div> |
| <div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(org.apache.kafka.streams.Topology,java.util.Properties,org.apache.kafka.streams.KafkaClientSupplier)" class="member-name-link">KafkaStreams</a><wbr>(<a href="Topology.html" title="class in org.apache.kafka.streams">Topology</a> topology, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Properties.html" title="class or interface in java.util" class="external-link">Properties</a> props, |
| <a href="KafkaClientSupplier.html" title="interface in org.apache.kafka.streams">KafkaClientSupplier</a> clientSupplier)</code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Create a <code>KafkaStreams</code> instance.</div> |
| </div> |
| <div class="col-first even-row-color"><code> </code></div> |
| <div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.kafka.streams.Topology,java.util.Properties,org.apache.kafka.streams.KafkaClientSupplier,org.apache.kafka.common.utils.Time)" class="member-name-link">KafkaStreams</a><wbr>(<a href="Topology.html" title="class in org.apache.kafka.streams">Topology</a> topology, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Properties.html" title="class or interface in java.util" class="external-link">Properties</a> props, |
| <a href="KafkaClientSupplier.html" title="interface in org.apache.kafka.streams">KafkaClientSupplier</a> clientSupplier, |
| org.apache.kafka.common.utils.Time time)</code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Create a <code>KafkaStreams</code> instance.</div> |
| </div> |
| <div class="col-first odd-row-color"><code> </code></div> |
| <div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(org.apache.kafka.streams.Topology,org.apache.kafka.streams.StreamsConfig)" class="member-name-link">KafkaStreams</a><wbr>(<a href="Topology.html" title="class in org.apache.kafka.streams">Topology</a> topology, |
| <a href="StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a> applicationConfigs)</code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Create a <code>KafkaStreams</code> instance.</div> |
| </div> |
| <div class="col-first even-row-color"><code> </code></div> |
| <div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.kafka.streams.Topology,org.apache.kafka.streams.StreamsConfig,org.apache.kafka.common.utils.Time)" class="member-name-link">KafkaStreams</a><wbr>(<a href="Topology.html" title="class in org.apache.kafka.streams">Topology</a> topology, |
| <a href="StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a> applicationConfigs, |
| org.apache.kafka.common.utils.Time time)</code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">Create a <code>KafkaStreams</code> instance.</div> |
| </div> |
| <div class="col-first odd-row-color"><code> </code></div> |
| <div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(org.apache.kafka.streams.Topology,org.apache.kafka.streams.StreamsConfig,org.apache.kafka.streams.KafkaClientSupplier)" class="member-name-link">KafkaStreams</a><wbr>(<a href="Topology.html" title="class in org.apache.kafka.streams">Topology</a> topology, |
| <a href="StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a> applicationConfigs, |
| <a href="KafkaClientSupplier.html" title="interface in org.apache.kafka.streams">KafkaClientSupplier</a> clientSupplier)</code></div> |
| <div class="col-last odd-row-color"> |
| <div class="block">Create a <code>KafkaStreams</code> instance.</div> |
| </div> |
| </div> |
| </section> |
| </li> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <li> |
| <section class="method-summary" id="method-summary"> |
| <h2>Method Summary</h2> |
| <div id="method-summary-table"> |
| <div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated Methods</button></div> |
| <div id="method-summary-table.tabpanel" role="tabpanel"> |
| <div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Method</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addStreamThread()" class="member-name-link">addStreamThread</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Adds and starts a stream thread in addition to the stream threads that are already running in this |
| Kafka Streams client.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>,<wbr><a href="LagInfo.html" title="class in org.apache.kafka.streams">LagInfo</a>>></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#allLocalStorePartitionLags()" class="member-name-link">allLocalStorePartitionLags</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns <a href="LagInfo.html" title="class in org.apache.kafka.streams"><code>LagInfo</code></a>, for all store partitions (active or standby) local to this Streams instance.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>,<wbr><a href="LagInfo.html" title="class in org.apache.kafka.streams">LagInfo</a>>></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#allLocalStorePartitionLags(java.util.List)" class="member-name-link">allLocalStorePartitionLags</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><org.apache.kafka.streams.processor.internals.Task> tasksToCollectLagFor)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><<a href="state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state">StreamsMetadata</a>></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#allMetadata()" class="member-name-link">allMetadata</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">since 3.0.0 use <a href="#metadataForAllStreamsClients()"><code>metadataForAllStreamsClients()</code></a></div> |
| </div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><<a href="state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state">StreamsMetadata</a>></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#allMetadataForStore(java.lang.String)" class="member-name-link">allMetadataForStore</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> storeName)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">since 3.0.0 use <a href="#streamsMetadataForStore(java.lang.String)"><code>streamsMetadataForStore(java.lang.String)</code></a> instead</div> |
| </div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#cleanUp()" class="member-name-link">cleanUp</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Do a clean up of the local <a href="processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> directory (<a href="StreamsConfig.html#STATE_DIR_CONFIG"><code>StreamsConfig.STATE_DIR_CONFIG</code></a>) by deleting all |
| data with regard to the <a href="StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#close()" class="member-name-link">close</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Shutdown this <code>KafkaStreams</code> instance by signaling all the threads to stop, and then wait for them to join.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#close(java.time.Duration)" class="member-name-link">close</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html" title="class or interface in java.time" class="external-link">Duration</a> timeout)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Shutdown this <code>KafkaStreams</code> by signaling all the threads to stop, and then wait up to the timeout for the |
| threads to join.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#close(org.apache.kafka.streams.KafkaStreams.CloseOptions)" class="member-name-link">close</a><wbr>(<a href="KafkaStreams.CloseOptions.html" title="class in org.apache.kafka.streams">KafkaStreams.CloseOptions</a> options)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Shutdown this <code>KafkaStreams</code> by signaling all the threads to stop, and then wait up to the timeout for the |
| threads to join.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasStartedOrFinishedShuttingDown()" class="member-name-link">hasStartedOrFinishedShuttingDown</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isPaused()" class="member-name-link">isPaused</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isRunningOrRebalancing()" class="member-name-link">isRunningOrRebalancing</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="processor/ThreadMetadata.html" title="class in org.apache.kafka.streams.processor">ThreadMetadata</a>></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#localThreadsMetadata()" class="member-name-link">localThreadsMetadata</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">since 3.0 use <a href="#metadataForLocalThreads()"><code>metadataForLocalThreads()</code></a></div> |
| </div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><<a href="StreamsMetadata.html" title="interface in org.apache.kafka.streams">StreamsMetadata</a>></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#metadataForAllStreamsClients()" class="member-name-link">metadataForAllStreamsClients</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Find all currently running <code>KafkaStreams</code> instances (potentially remotely) that use the same |
| <a href="StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> as this instance (i.e., all instances that belong to |
| the same Kafka Streams application) and return <a href="StreamsMetadata.html" title="interface in org.apache.kafka.streams"><code>StreamsMetadata</code></a> for each discovered instance.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="ThreadMetadata.html" title="interface in org.apache.kafka.streams">ThreadMetadata</a>></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#metadataForLocalThreads()" class="member-name-link">metadataForLocalThreads</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns runtime information about the local threads of this <a href="KafkaStreams.html" title="class in org.apache.kafka.streams"><code>KafkaStreams</code></a> instance.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="../common/MetricName.html" title="class in org.apache.kafka.common">MetricName</a>,<wbr>? extends <a href="../common/Metric.html" title="interface in org.apache.kafka.common">Metric</a>></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#metrics()" class="member-name-link">metrics</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Get read-only handle on global metrics registry, including streams client's own metrics plus |
| its embedded producer, consumer and admin clients' metrics.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#pause()" class="member-name-link">pause</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">This method pauses processing for the KafkaStreams instance.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected int</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#processStreamThread(java.util.function.Consumer)" class="member-name-link">processStreamThread</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a><org.apache.kafka.streams.processor.internals.StreamThread> consumer)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">handle each stream thread in a snapshot of threads.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><R> <a href="query/StateQueryResult.html" title="class in org.apache.kafka.streams.query">StateQueryResult</a><R></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#query(org.apache.kafka.streams.query.StateQueryRequest)" class="member-name-link">query</a><wbr>(<a href="query/StateQueryRequest.html" title="class in org.apache.kafka.streams.query">StateQueryRequest</a><R> request)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Run an interactive query against a state store.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><K> <a href="KeyQueryMetadata.html" title="class in org.apache.kafka.streams">KeyQueryMetadata</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#queryMetadataForKey(java.lang.String,K,org.apache.kafka.common.serialization.Serializer)" class="member-name-link">queryMetadataForKey</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> storeName, |
| K key, |
| <a href="../common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization">Serializer</a><K> keySerializer)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Finds the metadata containing the active hosts and standby hosts where the key being queried would reside.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><K> <a href="KeyQueryMetadata.html" title="class in org.apache.kafka.streams">KeyQueryMetadata</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#queryMetadataForKey(java.lang.String,K,org.apache.kafka.streams.processor.StreamPartitioner)" class="member-name-link">queryMetadataForKey</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> storeName, |
| K key, |
| <a href="processor/StreamPartitioner.html" title="interface in org.apache.kafka.streams.processor">StreamPartitioner</a><? super K,<wbr>?> partitioner)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Finds the metadata containing the active hosts and standby hosts where the key being queried would reside.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeStreamThread()" class="member-name-link">removeStreamThread</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Removes one stream thread out of the running stream threads from this Kafka Streams client.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeStreamThread(java.time.Duration)" class="member-name-link">removeStreamThread</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html" title="class or interface in java.time" class="external-link">Duration</a> timeout)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Removes one stream thread out of the running stream threads from this Kafka Streams client.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#resume()" class="member-name-link">resume</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">This method resumes processing for the KafkaStreams instance.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setGlobalStateRestoreListener(org.apache.kafka.streams.processor.StateRestoreListener)" class="member-name-link">setGlobalStateRestoreListener</a><wbr>(<a href="processor/StateRestoreListener.html" title="interface in org.apache.kafka.streams.processor">StateRestoreListener</a> globalStateRestoreListener)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Set the listener which is triggered whenever a <a href="processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> is being restored in order to resume |
| processing.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setStateListener(org.apache.kafka.streams.KafkaStreams.StateListener)" class="member-name-link">setStateListener</a><wbr>(<a href="KafkaStreams.StateListener.html" title="interface in org.apache.kafka.streams">KafkaStreams.StateListener</a> listener)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">An app can set a single <a href="KafkaStreams.StateListener.html" title="interface in org.apache.kafka.streams"><code>KafkaStreams.StateListener</code></a> so that the app is notified when state changes.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"><code><a href="#setUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)" class="member-name-link">setUncaughtExceptionHandler</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Thread.UncaughtExceptionHandler.html" title="class or interface in java.lang" class="external-link">Thread.UncaughtExceptionHandler</a> uncaughtExceptionHandler)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4 method-summary-table-tab6"> |
| <div class="block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">Since 2.8.0.</div> |
| </div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setUncaughtExceptionHandler(org.apache.kafka.streams.errors.StreamsUncaughtExceptionHandler)" class="member-name-link">setUncaughtExceptionHandler</a><wbr>(<a href="errors/StreamsUncaughtExceptionHandler.html" title="interface in org.apache.kafka.streams.errors">StreamsUncaughtExceptionHandler</a> userStreamsUncaughtExceptionHandler)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Set the handler invoked when an internal <a href="StreamsConfig.html#NUM_STREAM_THREADS_CONFIG"><code>stream thread</code></a> |
| throws an unexpected exception.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#start()" class="member-name-link">start</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Start the <code>KafkaStreams</code> instance by starting all its threads.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="KafkaStreams.State.html" title="enum class in org.apache.kafka.streams">KafkaStreams.State</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#state()" class="member-name-link">state</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Return the current <a href="KafkaStreams.State.html" title="enum class in org.apache.kafka.streams"><code>KafkaStreams.State</code></a> of this <code>KafkaStreams</code> instance.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><T> T</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#store(org.apache.kafka.streams.StoreQueryParameters)" class="member-name-link">store</a><wbr>(<a href="StoreQueryParameters.html" title="class in org.apache.kafka.streams">StoreQueryParameters</a><T> storeQueryParameters)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Get a facade wrapping the local <a href="processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> instances with the provided <a href="StoreQueryParameters.html" title="class in org.apache.kafka.streams"><code>StoreQueryParameters</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><<a href="StreamsMetadata.html" title="interface in org.apache.kafka.streams">StreamsMetadata</a>></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#streamsMetadataForStore(java.lang.String)" class="member-name-link">streamsMetadataForStore</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> storeName)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Find all currently running <code>KafkaStreams</code> instances (potentially remotely) that |
| |
| use the same <a href="StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> as this instance (i.e., all |
| instances that belong to the same Kafka Streams application) |
| and that contain a <a href="processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> with the given <code>storeName</code> |
| |
| and return <a href="StreamsMetadata.html" title="interface in org.apache.kafka.streams"><code>StreamsMetadata</code></a> for each discovered instance.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#validateIsRunningOrRebalancing()" class="member-name-link">validateIsRunningOrRebalancing</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| </div> |
| </div> |
| </div> |
| <div class="inherited-list"> |
| <h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3> |
| <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <section class="details"> |
| <ul class="details-list"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <li> |
| <section class="field-details" id="field-detail"> |
| <h2>Field Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="clientId"> |
| <h3>clientId</h3> |
| <div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">clientId</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="applicationConfigs"> |
| <h3>applicationConfigs</h3> |
| <div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type"><a href="StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a></span> <span class="element-name">applicationConfigs</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="threads"> |
| <h3>threads</h3> |
| <div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><org.apache.kafka.streams.processor.internals.StreamThread></span> <span class="element-name">threads</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="stateDirectory"> |
| <h3>stateDirectory</h3> |
| <div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type">org.apache.kafka.streams.processor.internals.StateDirectory</span> <span class="element-name">stateDirectory</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="streamsMetadataState"> |
| <h3>streamsMetadataState</h3> |
| <div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type">org.apache.kafka.streams.processor.internals.StreamsMetadataState</span> <span class="element-name">streamsMetadataState</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="adminClient"> |
| <h3>adminClient</h3> |
| <div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type"><a href="../clients/admin/Admin.html" title="interface in org.apache.kafka.clients.admin">Admin</a></span> <span class="element-name">adminClient</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="topologyMetadata"> |
| <h3>topologyMetadata</h3> |
| <div class="member-signature"><span class="modifiers">protected final</span> <span class="return-type">org.apache.kafka.streams.processor.internals.TopologyMetadata</span> <span class="element-name">topologyMetadata</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="state"> |
| <h3>state</h3> |
| <div class="member-signature"><span class="modifiers">protected volatile</span> <span class="return-type"><a href="KafkaStreams.State.html" title="enum class in org.apache.kafka.streams">KafkaStreams.State</a></span> <span class="element-name">state</span></div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <li> |
| <section class="constructor-details" id="constructor-detail"> |
| <h2>Constructor Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="<init>(org.apache.kafka.streams.Topology,java.util.Properties)"> |
| <h3>KafkaStreams</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">KafkaStreams</span><wbr><span class="parameters">(<a href="Topology.html" title="class in org.apache.kafka.streams">Topology</a> topology, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Properties.html" title="class or interface in java.util" class="external-link">Properties</a> props)</span></div> |
| <div class="block">Create a <code>KafkaStreams</code> instance. |
| <p> |
| Note: even if you never call <a href="#start()"><code>start()</code></a> on a <code>KafkaStreams</code> instance, |
| you still must <a href="#close()"><code>close()</code></a> it to avoid resource leaks.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>topology</code> - the topology specifying the computational logic</dd> |
| <dd><code>props</code> - properties for <a href="StreamsConfig.html" title="class in org.apache.kafka.streams"><code>StreamsConfig</code></a></dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if any fatal error occurs</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="<init>(org.apache.kafka.streams.Topology,java.util.Properties,org.apache.kafka.streams.KafkaClientSupplier)"> |
| <h3>KafkaStreams</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">KafkaStreams</span><wbr><span class="parameters">(<a href="Topology.html" title="class in org.apache.kafka.streams">Topology</a> topology, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Properties.html" title="class or interface in java.util" class="external-link">Properties</a> props, |
| <a href="KafkaClientSupplier.html" title="interface in org.apache.kafka.streams">KafkaClientSupplier</a> clientSupplier)</span></div> |
| <div class="block">Create a <code>KafkaStreams</code> instance. |
| <p> |
| Note: even if you never call <a href="#start()"><code>start()</code></a> on a <code>KafkaStreams</code> instance, |
| you still must <a href="#close()"><code>close()</code></a> it to avoid resource leaks.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>topology</code> - the topology specifying the computational logic</dd> |
| <dd><code>props</code> - properties for <a href="StreamsConfig.html" title="class in org.apache.kafka.streams"><code>StreamsConfig</code></a></dd> |
| <dd><code>clientSupplier</code> - the Kafka clients supplier which provides underlying producer and consumer clients |
| for the new <code>KafkaStreams</code> instance</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if any fatal error occurs</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="<init>(org.apache.kafka.streams.Topology,java.util.Properties,org.apache.kafka.common.utils.Time)"> |
| <h3>KafkaStreams</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">KafkaStreams</span><wbr><span class="parameters">(<a href="Topology.html" title="class in org.apache.kafka.streams">Topology</a> topology, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Properties.html" title="class or interface in java.util" class="external-link">Properties</a> props, |
| org.apache.kafka.common.utils.Time time)</span></div> |
| <div class="block">Create a <code>KafkaStreams</code> instance. |
| <p> |
| Note: even if you never call <a href="#start()"><code>start()</code></a> on a <code>KafkaStreams</code> instance, |
| you still must <a href="#close()"><code>close()</code></a> it to avoid resource leaks.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>topology</code> - the topology specifying the computational logic</dd> |
| <dd><code>props</code> - properties for <a href="StreamsConfig.html" title="class in org.apache.kafka.streams"><code>StreamsConfig</code></a></dd> |
| <dd><code>time</code> - <code>Time</code> implementation; cannot be null</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if any fatal error occurs</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="<init>(org.apache.kafka.streams.Topology,java.util.Properties,org.apache.kafka.streams.KafkaClientSupplier,org.apache.kafka.common.utils.Time)"> |
| <h3>KafkaStreams</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">KafkaStreams</span><wbr><span class="parameters">(<a href="Topology.html" title="class in org.apache.kafka.streams">Topology</a> topology, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Properties.html" title="class or interface in java.util" class="external-link">Properties</a> props, |
| <a href="KafkaClientSupplier.html" title="interface in org.apache.kafka.streams">KafkaClientSupplier</a> clientSupplier, |
| org.apache.kafka.common.utils.Time time)</span></div> |
| <div class="block">Create a <code>KafkaStreams</code> instance. |
| <p> |
| Note: even if you never call <a href="#start()"><code>start()</code></a> on a <code>KafkaStreams</code> instance, |
| you still must <a href="#close()"><code>close()</code></a> it to avoid resource leaks.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>topology</code> - the topology specifying the computational logic</dd> |
| <dd><code>props</code> - properties for <a href="StreamsConfig.html" title="class in org.apache.kafka.streams"><code>StreamsConfig</code></a></dd> |
| <dd><code>clientSupplier</code> - the Kafka clients supplier which provides underlying producer and consumer clients |
| for the new <code>KafkaStreams</code> instance</dd> |
| <dd><code>time</code> - <code>Time</code> implementation; cannot be null</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if any fatal error occurs</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="<init>(org.apache.kafka.streams.Topology,org.apache.kafka.streams.StreamsConfig)"> |
| <h3>KafkaStreams</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">KafkaStreams</span><wbr><span class="parameters">(<a href="Topology.html" title="class in org.apache.kafka.streams">Topology</a> topology, |
| <a href="StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a> applicationConfigs)</span></div> |
| <div class="block">Create a <code>KafkaStreams</code> instance. |
| <p> |
| Note: even if you never call <a href="#start()"><code>start()</code></a> on a <code>KafkaStreams</code> instance, |
| you still must <a href="#close()"><code>close()</code></a> it to avoid resource leaks.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>topology</code> - the topology specifying the computational logic</dd> |
| <dd><code>applicationConfigs</code> - configs for Kafka Streams</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if any fatal error occurs</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="<init>(org.apache.kafka.streams.Topology,org.apache.kafka.streams.StreamsConfig,org.apache.kafka.streams.KafkaClientSupplier)"> |
| <h3>KafkaStreams</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">KafkaStreams</span><wbr><span class="parameters">(<a href="Topology.html" title="class in org.apache.kafka.streams">Topology</a> topology, |
| <a href="StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a> applicationConfigs, |
| <a href="KafkaClientSupplier.html" title="interface in org.apache.kafka.streams">KafkaClientSupplier</a> clientSupplier)</span></div> |
| <div class="block">Create a <code>KafkaStreams</code> instance. |
| <p> |
| Note: even if you never call <a href="#start()"><code>start()</code></a> on a <code>KafkaStreams</code> instance, |
| you still must <a href="#close()"><code>close()</code></a> it to avoid resource leaks.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>topology</code> - the topology specifying the computational logic</dd> |
| <dd><code>applicationConfigs</code> - configs for Kafka Streams</dd> |
| <dd><code>clientSupplier</code> - the Kafka clients supplier which provides underlying producer and consumer clients |
| for the new <code>KafkaStreams</code> instance</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if any fatal error occurs</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="<init>(org.apache.kafka.streams.Topology,org.apache.kafka.streams.StreamsConfig,org.apache.kafka.common.utils.Time)"> |
| <h3>KafkaStreams</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">KafkaStreams</span><wbr><span class="parameters">(<a href="Topology.html" title="class in org.apache.kafka.streams">Topology</a> topology, |
| <a href="StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a> applicationConfigs, |
| org.apache.kafka.common.utils.Time time)</span></div> |
| <div class="block">Create a <code>KafkaStreams</code> instance. |
| <p> |
| Note: even if you never call <a href="#start()"><code>start()</code></a> on a <code>KafkaStreams</code> instance, |
| you still must <a href="#close()"><code>close()</code></a> it to avoid resource leaks.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>topology</code> - the topology specifying the computational logic</dd> |
| <dd><code>applicationConfigs</code> - configs for Kafka Streams</dd> |
| <dd><code>time</code> - <code>Time</code> implementation; cannot be null</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if any fatal error occurs</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="<init>(org.apache.kafka.streams.processor.internals.TopologyMetadata,org.apache.kafka.streams.StreamsConfig,org.apache.kafka.streams.KafkaClientSupplier)"> |
| <h3>KafkaStreams</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="element-name">KafkaStreams</span><wbr><span class="parameters">(org.apache.kafka.streams.processor.internals.TopologyMetadata topologyMetadata, |
| <a href="StreamsConfig.html" title="class in org.apache.kafka.streams">StreamsConfig</a> applicationConfigs, |
| <a href="KafkaClientSupplier.html" title="interface in org.apache.kafka.streams">KafkaClientSupplier</a> clientSupplier)</span> |
| throws <span class="exceptions"><a href="errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></span></div> |
| <dl class="notes"> |
| <dt>Throws:</dt> |
| <dd><code><a href="errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| <!-- ============ METHOD DETAIL ========== --> |
| <li> |
| <section class="method-details" id="method-detail"> |
| <h2>Method Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="state()"> |
| <h3>state</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="KafkaStreams.State.html" title="enum class in org.apache.kafka.streams">KafkaStreams.State</a></span> <span class="element-name">state</span>()</div> |
| <div class="block">Return the current <a href="KafkaStreams.State.html" title="enum class in org.apache.kafka.streams"><code>KafkaStreams.State</code></a> of this <code>KafkaStreams</code> instance.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>the current state of this Kafka Streams instance</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isRunningOrRebalancing()"> |
| <h3>isRunningOrRebalancing</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">boolean</span> <span class="element-name">isRunningOrRebalancing</span>()</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="hasStartedOrFinishedShuttingDown()"> |
| <h3>hasStartedOrFinishedShuttingDown</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">boolean</span> <span class="element-name">hasStartedOrFinishedShuttingDown</span>()</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="validateIsRunningOrRebalancing()"> |
| <h3>validateIsRunningOrRebalancing</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">void</span> <span class="element-name">validateIsRunningOrRebalancing</span>()</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="setStateListener(org.apache.kafka.streams.KafkaStreams.StateListener)"> |
| <h3>setStateListener</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">setStateListener</span><wbr><span class="parameters">(<a href="KafkaStreams.StateListener.html" title="interface in org.apache.kafka.streams">KafkaStreams.StateListener</a> listener)</span></div> |
| <div class="block">An app can set a single <a href="KafkaStreams.StateListener.html" title="interface in org.apache.kafka.streams"><code>KafkaStreams.StateListener</code></a> so that the app is notified when state changes.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>listener</code> - a new state listener</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if this <code>KafkaStreams</code> instance has already been started.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="setUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)"> |
| <h3>setUncaughtExceptionHandler</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">setUncaughtExceptionHandler</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Thread.UncaughtExceptionHandler.html" title="class or interface in java.lang" class="external-link">Thread.UncaughtExceptionHandler</a> uncaughtExceptionHandler)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">Since 2.8.0. Use <a href="#setUncaughtExceptionHandler(org.apache.kafka.streams.errors.StreamsUncaughtExceptionHandler)"><code>setUncaughtExceptionHandler(StreamsUncaughtExceptionHandler)</code></a> instead.</div> |
| </div> |
| <div class="block">Set the handler invoked when an internal <a href="StreamsConfig.html#NUM_STREAM_THREADS_CONFIG"><code>stream thread</code></a> abruptly |
| terminates due to an uncaught exception.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>uncaughtExceptionHandler</code> - the uncaught exception handler for all internal threads; <code>null</code> deletes the current handler</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if this <code>KafkaStreams</code> instance has already been started.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="setUncaughtExceptionHandler(org.apache.kafka.streams.errors.StreamsUncaughtExceptionHandler)"> |
| <h3>setUncaughtExceptionHandler</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">setUncaughtExceptionHandler</span><wbr><span class="parameters">(<a href="errors/StreamsUncaughtExceptionHandler.html" title="interface in org.apache.kafka.streams.errors">StreamsUncaughtExceptionHandler</a> userStreamsUncaughtExceptionHandler)</span></div> |
| <div class="block">Set the handler invoked when an internal <a href="StreamsConfig.html#NUM_STREAM_THREADS_CONFIG"><code>stream thread</code></a> |
| throws an unexpected exception. |
| These might be exceptions indicating rare bugs in Kafka Streams, or they |
| might be exceptions thrown by your code, for example a NullPointerException thrown from your processor logic. |
| The handler will execute on the thread that produced the exception. |
| In order to get the thread that threw the exception, use <code>Thread.currentThread()</code>. |
| <p> |
| Note, this handler must be threadsafe, since it will be shared among all threads, and invoked from any |
| thread that encounters such an exception.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>userStreamsUncaughtExceptionHandler</code> - the uncaught exception handler of type <a href="errors/StreamsUncaughtExceptionHandler.html" title="interface in org.apache.kafka.streams.errors"><code>StreamsUncaughtExceptionHandler</code></a> for all internal threads</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if this <code>KafkaStreams</code> instance has already been started.</dd> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NullPointerException.html" title="class or interface in java.lang" class="external-link">NullPointerException</a></code> - if userStreamsUncaughtExceptionHandler is null.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="setGlobalStateRestoreListener(org.apache.kafka.streams.processor.StateRestoreListener)"> |
| <h3>setGlobalStateRestoreListener</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">setGlobalStateRestoreListener</span><wbr><span class="parameters">(<a href="processor/StateRestoreListener.html" title="interface in org.apache.kafka.streams.processor">StateRestoreListener</a> globalStateRestoreListener)</span></div> |
| <div class="block">Set the listener which is triggered whenever a <a href="processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> is being restored in order to resume |
| processing.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>globalStateRestoreListener</code> - The listener triggered when <a href="processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> is being restored.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if this <code>KafkaStreams</code> instance has already been started.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="metrics()"> |
| <h3>metrics</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="../common/MetricName.html" title="class in org.apache.kafka.common">MetricName</a>,<wbr>? extends <a href="../common/Metric.html" title="interface in org.apache.kafka.common">Metric</a>></span> <span class="element-name">metrics</span>()</div> |
| <div class="block">Get read-only handle on global metrics registry, including streams client's own metrics plus |
| its embedded producer, consumer and admin clients' metrics.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>Map of all metrics.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="addStreamThread()"> |
| <h3>addStreamThread</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></span> <span class="element-name">addStreamThread</span>()</div> |
| <div class="block">Adds and starts a stream thread in addition to the stream threads that are already running in this |
| Kafka Streams client. |
| <p> |
| Since the number of stream threads increases, the sizes of the caches in the new stream thread |
| and the existing stream threads are adapted so that the sum of the cache sizes over all stream |
| threads does not exceed the total cache size specified in configuration |
| <a href="StreamsConfig.html#STATESTORE_CACHE_MAX_BYTES_CONFIG"><code>StreamsConfig.STATESTORE_CACHE_MAX_BYTES_CONFIG</code></a>. |
| <p> |
| Stream threads can only be added if this Kafka Streams client is in state RUNNING or REBALANCING.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>name of the added stream thread or empty if a new stream thread could not be added</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="removeStreamThread()"> |
| <h3>removeStreamThread</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></span> <span class="element-name">removeStreamThread</span>()</div> |
| <div class="block">Removes one stream thread out of the running stream threads from this Kafka Streams client. |
| <p> |
| The removed stream thread is gracefully shut down. This method does not specify which stream |
| thread is shut down. |
| <p> |
| Since the number of stream threads decreases, the sizes of the caches in the remaining stream |
| threads are adapted so that the sum of the cache sizes over all stream threads equals the total |
| cache size specified in configuration <a href="StreamsConfig.html#STATESTORE_CACHE_MAX_BYTES_CONFIG"><code>StreamsConfig.STATESTORE_CACHE_MAX_BYTES_CONFIG</code></a>.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>name of the removed stream thread or empty if a stream thread could not be removed because |
| no stream threads are alive</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="removeStreamThread(java.time.Duration)"> |
| <h3>removeStreamThread</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Optional.html" title="class or interface in java.util" class="external-link">Optional</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>></span> <span class="element-name">removeStreamThread</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html" title="class or interface in java.time" class="external-link">Duration</a> timeout)</span></div> |
| <div class="block">Removes one stream thread out of the running stream threads from this Kafka Streams client. |
| <p> |
| The removed stream thread is gracefully shut down. This method does not specify which stream |
| thread is shut down. |
| <p> |
| Since the number of stream threads decreases, the sizes of the caches in the remaining stream |
| threads are adapted so that the sum of the cache sizes over all stream threads equals the total |
| cache size specified in configuration <a href="StreamsConfig.html#STATESTORE_CACHE_MAX_BYTES_CONFIG"><code>StreamsConfig.STATESTORE_CACHE_MAX_BYTES_CONFIG</code></a>.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>timeout</code> - The length of time to wait for the thread to shutdown</dd> |
| <dt>Returns:</dt> |
| <dd>name of the removed stream thread or empty if a stream thread could not be removed because |
| no stream threads are alive</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../common/errors/TimeoutException.html" title="class in org.apache.kafka.common.errors">TimeoutException</a></code> - if the thread does not stop in time</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="start()"> |
| <h3>start</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">start</span>() |
| throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a>, |
| <a href="errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></span></div> |
| <div class="block">Start the <code>KafkaStreams</code> instance by starting all its threads. |
| This function is expected to be called only once during the life cycle of the client. |
| <p> |
| Because threads are started in the background, this method does not block. |
| However, if you have global stores in your topology, this method blocks until all global stores are restored. |
| As a consequence, any fatal exception that happens during processing is by default only logged. |
| If you want to be notified about dying threads, you can |
| <a href="#setUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)"><code>register an uncaught exception handler</code></a> |
| before starting the <code>KafkaStreams</code> instance. |
| <p> |
| Note, for brokers with version <code>0.9.x</code> or lower, the broker version cannot be checked. |
| There will be no error and the client will hang and retry to verify the broker version until it |
| <a href="StreamsConfig.html#REQUEST_TIMEOUT_MS_CONFIG"><code>times out</code></a>.</div> |
| <dl class="notes"> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if process was already started</dd> |
| <dd><code><a href="errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if the Kafka brokers have version 0.10.0.x or |
| if <a href="StreamsConfig.html#PROCESSING_GUARANTEE_CONFIG"><code>exactly-once</code></a> is enabled for pre 0.11.0.x brokers</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="close()"> |
| <h3>close</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">close</span>()</div> |
| <div class="block">Shutdown this <code>KafkaStreams</code> instance by signaling all the threads to stop, and then wait for them to join. |
| This will block until all threads have stopped.</div> |
| <dl class="notes"> |
| <dt>Specified by:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/AutoCloseable.html#close()" title="class or interface in java.lang" class="external-link">close</a></code> in interface <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/AutoCloseable.html" title="class or interface in java.lang" class="external-link">AutoCloseable</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="close(java.time.Duration)"> |
| <h3>close</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">close</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html" title="class or interface in java.time" class="external-link">Duration</a> timeout)</span> |
| throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div> |
| <div class="block">Shutdown this <code>KafkaStreams</code> by signaling all the threads to stop, and then wait up to the timeout for the |
| threads to join. |
| A <code>timeout</code> of Duration.ZERO (or any other zero duration) makes the close operation asynchronous. |
| Negative-duration timeouts are rejected.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>timeout</code> - how long to wait for the threads to shutdown</dd> |
| <dt>Returns:</dt> |
| <dd><code>true</code> if all threads were successfully stopped—<code>false</code> if the timeout was reached |
| before all threads stopped |
| Note that this method must not be called in the <a href="KafkaStreams.StateListener.html#onChange(org.apache.kafka.streams.KafkaStreams.State,org.apache.kafka.streams.KafkaStreams.State)"><code>KafkaStreams.StateListener.onChange(KafkaStreams.State, KafkaStreams.State)</code></a> callback of <a href="KafkaStreams.StateListener.html" title="interface in org.apache.kafka.streams"><code>KafkaStreams.StateListener</code></a>.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if <code>timeout</code> can't be represented as <code>long milliseconds</code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="close(org.apache.kafka.streams.KafkaStreams.CloseOptions)"> |
| <h3>close</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">close</span><wbr><span class="parameters">(<a href="KafkaStreams.CloseOptions.html" title="class in org.apache.kafka.streams">KafkaStreams.CloseOptions</a> options)</span> |
| throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div> |
| <div class="block">Shutdown this <code>KafkaStreams</code> by signaling all the threads to stop, and then wait up to the timeout for the |
| threads to join.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>options</code> - contains timeout to specify how long to wait for the threads to shutdown, and a flag leaveGroup to |
| trigger consumer leave call</dd> |
| <dt>Returns:</dt> |
| <dd><code>true</code> if all threads were successfully stopped—<code>false</code> if the timeout was reached |
| before all threads stopped |
| Note that this method must not be called in the <a href="KafkaStreams.StateListener.html#onChange(org.apache.kafka.streams.KafkaStreams.State,org.apache.kafka.streams.KafkaStreams.State)"><code>KafkaStreams.StateListener.onChange(KafkaStreams.State, KafkaStreams.State)</code></a> callback of <a href="KafkaStreams.StateListener.html" title="interface in org.apache.kafka.streams"><code>KafkaStreams.StateListener</code></a>.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if <code>timeout</code> can't be represented as <code>long milliseconds</code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="cleanUp()"> |
| <h3>cleanUp</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">cleanUp</span>()</div> |
| <div class="block">Do a clean up of the local <a href="processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> directory (<a href="StreamsConfig.html#STATE_DIR_CONFIG"><code>StreamsConfig.STATE_DIR_CONFIG</code></a>) by deleting all |
| data with regard to the <a href="StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a>. |
| <p> |
| May only be called either before this <code>KafkaStreams</code> instance is <a href="#start()"><code>started</code></a> or after the |
| instance is <a href="#close()"><code>closed</code></a>. |
| <p> |
| Calling this method triggers a restore of local <a href="processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a>s on the next <a href="#start()"><code>application start</code></a>.</div> |
| <dl class="notes"> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if this <code>KafkaStreams</code> instance has been started and hasn't fully shut down</dd> |
| <dd><code><a href="errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if cleanup failed</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="allMetadata()"> |
| <h3>allMetadata</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><<a href="state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state">StreamsMetadata</a>></span> <span class="element-name">allMetadata</span>()</div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">since 3.0.0 use <a href="#metadataForAllStreamsClients()"><code>metadataForAllStreamsClients()</code></a></div> |
| </div> |
| <div class="block">Find all currently running <code>KafkaStreams</code> instances (potentially remotely) that use the same |
| <a href="StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> as this instance (i.e., all instances that belong to |
| the same Kafka Streams application) and return <a href="StreamsMetadata.html" title="interface in org.apache.kafka.streams"><code>StreamsMetadata</code></a> for each discovered instance. |
| <p> |
| Note: this is a point in time view and it may change due to partition reassignment.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd><a href="StreamsMetadata.html" title="interface in org.apache.kafka.streams"><code>StreamsMetadata</code></a> for each <code>KafkaStreams</code> instances of this application</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="metadataForAllStreamsClients()"> |
| <h3>metadataForAllStreamsClients</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><<a href="StreamsMetadata.html" title="interface in org.apache.kafka.streams">StreamsMetadata</a>></span> <span class="element-name">metadataForAllStreamsClients</span>()</div> |
| <div class="block">Find all currently running <code>KafkaStreams</code> instances (potentially remotely) that use the same |
| <a href="StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> as this instance (i.e., all instances that belong to |
| the same Kafka Streams application) and return <a href="StreamsMetadata.html" title="interface in org.apache.kafka.streams"><code>StreamsMetadata</code></a> for each discovered instance. |
| <p> |
| Note: this is a point in time view and it may change due to partition reassignment.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd><a href="StreamsMetadata.html" title="interface in org.apache.kafka.streams"><code>StreamsMetadata</code></a> for each <code>KafkaStreams</code> instances of this application</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="allMetadataForStore(java.lang.String)"> |
| <h3>allMetadataForStore</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><<a href="state/StreamsMetadata.html" title="class in org.apache.kafka.streams.state">StreamsMetadata</a>></span> <span class="element-name">allMetadataForStore</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> storeName)</span></div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">since 3.0.0 use <a href="#streamsMetadataForStore(java.lang.String)"><code>streamsMetadataForStore(java.lang.String)</code></a> instead</div> |
| </div> |
| <div class="block">Find all currently running <code>KafkaStreams</code> instances (potentially remotely) that |
| <ul> |
| <li>use the same <a href="StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> as this instance (i.e., all |
| instances that belong to the same Kafka Streams application)</li> |
| <li>and that contain a <a href="processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> with the given <code>storeName</code></li> |
| </ul> |
| and return <a href="StreamsMetadata.html" title="interface in org.apache.kafka.streams"><code>StreamsMetadata</code></a> for each discovered instance. |
| <p> |
| Note: this is a point in time view and it may change due to partition reassignment.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>storeName</code> - the <code>storeName</code> to find metadata for</dd> |
| <dt>Returns:</dt> |
| <dd><a href="StreamsMetadata.html" title="interface in org.apache.kafka.streams"><code>StreamsMetadata</code></a> for each <code>KafkaStreams</code> instances with the provide <code>storeName</code> of |
| this application</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="streamsMetadataForStore(java.lang.String)"> |
| <h3>streamsMetadataForStore</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><<a href="StreamsMetadata.html" title="interface in org.apache.kafka.streams">StreamsMetadata</a>></span> <span class="element-name">streamsMetadataForStore</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> storeName)</span></div> |
| <div class="block">Find all currently running <code>KafkaStreams</code> instances (potentially remotely) that |
| <ul> |
| <li>use the same <a href="StreamsConfig.html#APPLICATION_ID_CONFIG"><code>application ID</code></a> as this instance (i.e., all |
| instances that belong to the same Kafka Streams application)</li> |
| <li>and that contain a <a href="processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> with the given <code>storeName</code></li> |
| </ul> |
| and return <a href="StreamsMetadata.html" title="interface in org.apache.kafka.streams"><code>StreamsMetadata</code></a> for each discovered instance. |
| <p> |
| Note: this is a point in time view and it may change due to partition reassignment.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>storeName</code> - the <code>storeName</code> to find metadata for</dd> |
| <dt>Returns:</dt> |
| <dd><a href="StreamsMetadata.html" title="interface in org.apache.kafka.streams"><code>StreamsMetadata</code></a> for each <code>KafkaStreams</code> instances with the provide <code>storeName</code> of |
| this application</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="queryMetadataForKey(java.lang.String,K,org.apache.kafka.common.serialization.Serializer)"> |
| <h3 id="queryMetadataForKey(java.lang.String,java.lang.Object,org.apache.kafka.common.serialization.Serializer)">queryMetadataForKey</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="type-parameters"><K></span> <span class="return-type"><a href="KeyQueryMetadata.html" title="class in org.apache.kafka.streams">KeyQueryMetadata</a></span> <span class="element-name">queryMetadataForKey</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> storeName, |
| K key, |
| <a href="../common/serialization/Serializer.html" title="interface in org.apache.kafka.common.serialization">Serializer</a><K> keySerializer)</span></div> |
| <div class="block">Finds the metadata containing the active hosts and standby hosts where the key being queried would reside.</div> |
| <dl class="notes"> |
| <dt>Type Parameters:</dt> |
| <dd><code>K</code> - key type |
| Returns <a href="KeyQueryMetadata.html" title="class in org.apache.kafka.streams"><code>KeyQueryMetadata</code></a> containing all metadata about hosting the given key for the given store, |
| or <code>null</code> if no matching metadata could be found.</dd> |
| <dt>Parameters:</dt> |
| <dd><code>storeName</code> - the <code>storeName</code> to find metadata for</dd> |
| <dd><code>key</code> - the key to find metadata for</dd> |
| <dd><code>keySerializer</code> - serializer for the key</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="queryMetadataForKey(java.lang.String,K,org.apache.kafka.streams.processor.StreamPartitioner)"> |
| <h3 id="queryMetadataForKey(java.lang.String,java.lang.Object,org.apache.kafka.streams.processor.StreamPartitioner)">queryMetadataForKey</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="type-parameters"><K></span> <span class="return-type"><a href="KeyQueryMetadata.html" title="class in org.apache.kafka.streams">KeyQueryMetadata</a></span> <span class="element-name">queryMetadataForKey</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> storeName, |
| K key, |
| <a href="processor/StreamPartitioner.html" title="interface in org.apache.kafka.streams.processor">StreamPartitioner</a><? super K,<wbr>?> partitioner)</span></div> |
| <div class="block">Finds the metadata containing the active hosts and standby hosts where the key being queried would reside.</div> |
| <dl class="notes"> |
| <dt>Type Parameters:</dt> |
| <dd><code>K</code> - key type |
| Returns <a href="KeyQueryMetadata.html" title="class in org.apache.kafka.streams"><code>KeyQueryMetadata</code></a> containing all metadata about hosting the given key for the given store, using the |
| the supplied partitioner, or <code>null</code> if no matching metadata could be found.</dd> |
| <dt>Parameters:</dt> |
| <dd><code>storeName</code> - the <code>storeName</code> to find metadata for</dd> |
| <dd><code>key</code> - the key to find metadata for</dd> |
| <dd><code>partitioner</code> - the partitioner to be use to locate the host for the key</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="store(org.apache.kafka.streams.StoreQueryParameters)"> |
| <h3>store</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="type-parameters"><T></span> <span class="return-type">T</span> <span class="element-name">store</span><wbr><span class="parameters">(<a href="StoreQueryParameters.html" title="class in org.apache.kafka.streams">StoreQueryParameters</a><T> storeQueryParameters)</span></div> |
| <div class="block">Get a facade wrapping the local <a href="processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> instances with the provided <a href="StoreQueryParameters.html" title="class in org.apache.kafka.streams"><code>StoreQueryParameters</code></a>. |
| The returned object can be used to query the <a href="processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> instances.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>storeQueryParameters</code> - the parameters used to fetch a queryable store</dd> |
| <dt>Returns:</dt> |
| <dd>A facade wrapping the local <a href="processor/StateStore.html" title="interface in org.apache.kafka.streams.processor"><code>StateStore</code></a> instances</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="errors/StreamsNotStartedException.html" title="class in org.apache.kafka.streams.errors">StreamsNotStartedException</a></code> - If Streams has not yet been started. Just call <a href="#start()"><code>start()</code></a> |
| and then retry this call.</dd> |
| <dd><code><a href="errors/UnknownStateStoreException.html" title="class in org.apache.kafka.streams.errors">UnknownStateStoreException</a></code> - If the specified store name does not exist in the topology.</dd> |
| <dd><code><a href="errors/InvalidStateStorePartitionException.html" title="class in org.apache.kafka.streams.errors">InvalidStateStorePartitionException</a></code> - If the specified partition does not exist.</dd> |
| <dd><code><a href="errors/InvalidStateStoreException.html" title="class in org.apache.kafka.streams.errors">InvalidStateStoreException</a></code> - If the Streams instance isn't in a queryable state. |
| If the store's type does not match the QueryableStoreType, |
| the Streams instance is not in a queryable state with respect |
| to the parameters, or if the store is not available locally, then |
| an InvalidStateStoreException is thrown upon store access.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="pause()"> |
| <h3>pause</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">pause</span>()</div> |
| <div class="block">This method pauses processing for the KafkaStreams instance. |
| |
| Paused topologies will only skip over a) processing, b) punctuation, and c) standby tasks. |
| Notably, paused topologies will still poll Kafka consumers, and commit offsets. |
| This method sets transient state that is not maintained or managed among instances. |
| Note that pause() can be called before start() in order to start a KafkaStreams instance |
| in a manner where the processing is paused as described, but the consumers are started up.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isPaused()"> |
| <h3>isPaused</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">isPaused</span>()</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>true when the KafkaStreams instance has its processing paused.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="resume()"> |
| <h3>resume</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">resume</span>()</div> |
| <div class="block">This method resumes processing for the KafkaStreams instance.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="processStreamThread(java.util.function.Consumer)"> |
| <h3>processStreamThread</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">int</span> <span class="element-name">processStreamThread</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/function/Consumer.html" title="class or interface in java.util.function" class="external-link">Consumer</a><org.apache.kafka.streams.processor.internals.StreamThread> consumer)</span></div> |
| <div class="block">handle each stream thread in a snapshot of threads. |
| noted: iteration over SynchronizedList is not thread safe so it must be manually synchronized. However, we may |
| require other locks when looping threads and it could cause deadlock. Hence, we create a copy to avoid holding |
| threads lock when looping threads.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>consumer</code> - handler</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="localThreadsMetadata()"> |
| <h3>localThreadsMetadata</h3> |
| <div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a> |
| </span><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="processor/ThreadMetadata.html" title="class in org.apache.kafka.streams.processor">ThreadMetadata</a>></span> <span class="element-name">localThreadsMetadata</span>()</div> |
| <div class="deprecation-block"><span class="deprecated-label">Deprecated.</span> |
| <div class="deprecation-comment">since 3.0 use <a href="#metadataForLocalThreads()"><code>metadataForLocalThreads()</code></a></div> |
| </div> |
| <div class="block">Returns runtime information about the local threads of this <a href="KafkaStreams.html" title="class in org.apache.kafka.streams"><code>KafkaStreams</code></a> instance.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>the set of <a href="processor/ThreadMetadata.html" title="class in org.apache.kafka.streams.processor"><code>ThreadMetadata</code></a>.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="metadataForLocalThreads()"> |
| <h3>metadataForLocalThreads</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a><<a href="ThreadMetadata.html" title="interface in org.apache.kafka.streams">ThreadMetadata</a>></span> <span class="element-name">metadataForLocalThreads</span>()</div> |
| <div class="block">Returns runtime information about the local threads of this <a href="KafkaStreams.html" title="class in org.apache.kafka.streams"><code>KafkaStreams</code></a> instance.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>the set of <a href="ThreadMetadata.html" title="interface in org.apache.kafka.streams"><code>ThreadMetadata</code></a>.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="allLocalStorePartitionLags()"> |
| <h3>allLocalStorePartitionLags</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>,<wbr><a href="LagInfo.html" title="class in org.apache.kafka.streams">LagInfo</a>>></span> <span class="element-name">allLocalStorePartitionLags</span>()</div> |
| <div class="block">Returns <a href="LagInfo.html" title="class in org.apache.kafka.streams"><code>LagInfo</code></a>, for all store partitions (active or standby) local to this Streams instance. Note that the |
| values returned are just estimates and meant to be used for making soft decisions on whether the data in the store |
| partition is fresh enough for querying. |
| |
| Note: Each invocation of this method issues a call to the Kafka brokers. Thus its advisable to limit the frequency |
| of invocation to once every few seconds.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>map of store names to another map of partition to <a href="LagInfo.html" title="class in org.apache.kafka.streams"><code>LagInfo</code></a>s</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="errors/StreamsException.html" title="class in org.apache.kafka.streams.errors">StreamsException</a></code> - if the admin client request throws exception</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="allLocalStorePartitionLags(java.util.List)"> |
| <h3>allLocalStorePartitionLags</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>,<wbr><a href="LagInfo.html" title="class in org.apache.kafka.streams">LagInfo</a>>></span> <span class="element-name">allLocalStorePartitionLags</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><org.apache.kafka.streams.processor.internals.Task> tasksToCollectLagFor)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="query(org.apache.kafka.streams.query.StateQueryRequest)"> |
| <h3>query</h3> |
| <div class="member-signature"><span class="annotations"><a href="../common/annotation/InterfaceStability.Evolving.html" title="annotation interface in org.apache.kafka.common.annotation">@Evolving</a> |
| </span><span class="modifiers">public</span> <span class="type-parameters"><R></span> <span class="return-type"><a href="query/StateQueryResult.html" title="class in org.apache.kafka.streams.query">StateQueryResult</a><R></span> <span class="element-name">query</span><wbr><span class="parameters">(<a href="query/StateQueryRequest.html" title="class in org.apache.kafka.streams.query">StateQueryRequest</a><R> request)</span></div> |
| <div class="block">Run an interactive query against a state store. |
| <p> |
| This method allows callers outside of the Streams runtime to access the internal state of |
| stateful processors. See https://kafka.apache.org/documentation/streams/developer-guide/interactive-queries.html |
| for more information. |
| <p> |
| NOTICE: This functionality is <a href="../common/annotation/InterfaceStability.Evolving.html" title="annotation interface in org.apache.kafka.common.annotation"><code>InterfaceStability.Evolving</code></a> and subject to change in minor versions. |
| Once it is stabilized, this notice and the evolving annotation will be removed.</div> |
| <dl class="notes"> |
| <dt>Type Parameters:</dt> |
| <dd><code>R</code> - The result type specified by the query.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="errors/StreamsNotStartedException.html" title="class in org.apache.kafka.streams.errors">StreamsNotStartedException</a></code> - If Streams has not yet been started. Just call <a href="#start()"><code>start()</code></a> and then retry this call.</dd> |
| <dd><code><a href="errors/StreamsStoppedException.html" title="class in org.apache.kafka.streams.errors">StreamsStoppedException</a></code> - If Streams is in a terminal state like PENDING_SHUTDOWN, |
| NOT_RUNNING, PENDING_ERROR, or ERROR. The caller should |
| discover a new instance to query.</dd> |
| <dd><code><a href="errors/UnknownStateStoreException.html" title="class in org.apache.kafka.streams.errors">UnknownStateStoreException</a></code> - If the specified store name does not exist in the |
| topology.</dd> |
| </dl> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </main> |
| </div> |
| </div> |
| </body> |
| </html> |