mjsax commented on code in PR #20408:
URL: https://github.com/apache/kafka/pull/20408#discussion_r2311686962
##########
docs/streams/developer-guide/datatypes.html:
##########
@@ -163,6 +164,76 @@ <h3>JSON<a class="headerlink" href="#json"
title="Permalink to this headline"></
<p>As shown in the example, you can use JSONSerdes inner classes <code
class="docutils literal"><span
class="pre">Serdes.serdeFrom(<serializerInstance>,
<deserializerInstance>)</span></code> to construct JSON compatible
serializers and deserializers.
</p>
</div>
+ <div class="section" id="window-serdes">
+ <h3>Window Serdes<a class="headerlink" href="#window-serdes"
title="Permalink to this headline"></a></h3>
+ <p>Apache Kafka Streams includes serde implementations for windowed
types in
+ its <code class="docutils literal"><span
class="pre">kafka-streams</span></code> Maven artifact:</p>
+ <pre class="line-numbers"><code class="language-xml"><dependency>
+ <groupId>org.apache.kafka</groupId>
+ <artifactId>kafka-streams</artifactId>
+ <version>{{fullDotVersion}}</version>
+</dependency></code></pre>
+ <p>This artifact provides the following windowed serde implementations
under the package <a class="reference external"
href="https://github.com/apache/kafka/blob/{{dotVersion}}/streams/src/main/java/org/apache/kafka/streams/kstream">org.apache.kafka.streams.kstream</a>:</p>
+
+ <p><strong>Serdes:</strong></p>
+ <ul class="simple">
+ <li><code class="docutils literal"><span
class="pre">WindowedSerdes.TimeWindowedSerde<T></span></code></li>
+ <li><code class="docutils literal"><span
class="pre">WindowedSerdes.SessionWindowedSerde<T></span></code></li>
+ </ul>
+
+ <p><strong>Serializers:</strong></p>
+ <ul class="simple">
+ <li><code class="docutils literal"><span
class="pre">TimeWindowedSerializer<T></span></code></li>
+ <li><code class="docutils literal"><span
class="pre">SessionWindowedSerializer<T></span></code></li>
+ </ul>
+
+ <p><strong>Deserializers:</strong></p>
+ <ul class="simple">
+ <li><code class="docutils literal"><span
class="pre">TimeWindowedDeserializer<T></span></code></li>
+ <li><code class="docutils literal"><span
class="pre">SessionWindowedDeserializer<T></span></code></li>
+ </ul>
+ <h4>Usage in Code</h4>
+ <p>When using windowed serdes in your application code, you typically
create instances via constructors or factory methods:</p>
+ <pre class="line-numbers"><code class="language-java">// Time windowed
serde - using factory method
+Serde<Windowed<String>> timeWindowedSerde =
+ WindowedSerdes.timeWindowedSerdeFrom(String.class, 500L);
+
+// Time windowed serde - using constructor
+Serde<Windowed<String>> timeWindowedSerde2 =
+ new WindowedSerdes.TimeWindowedSerde<>(Serdes.String(), 500L);
+
+// Session windowed serde - using factory method
+Serde<Windowed<String>> sessionWindowedSerde =
+ WindowedSerdes.sessionWindowedSerdeFrom(String.class);
+
+// Session windowed serde - using constructor
+Serde<Windowed<String>> sessionWindowedSerde2 =
+ new WindowedSerdes.SessionWindowedSerde<>(Serdes.String());
+
+// Using individual serializers/deserializers
+TimeWindowedSerializer<String> serializer = new
TimeWindowedSerializer<>(Serdes.String().serializer());
+TimeWindowedDeserializer<String> deserializer = new
TimeWindowedDeserializer<>(Serdes.String().deserializer(),
500L);</code></pre>
+
+ <h4>Usage in Command Line</h4>
+ <p>When using command-line tools (like
<code>kafka-console-consumer</code>), you can configure windowed deserializers
by passing the inner class and window size via configuration properties. The
property names use a prefix pattern:</p>
Review Comment:
```suggestion
<p>When using command-line tools (like
<code>bin/kafka-console-consumer.sh</code>), you can configure windowed
deserializers by passing the inner class and window size via configuration
properties. The property names use a prefix pattern:</p>
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]