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(&lt;serializerInstance&gt;, 
&lt;deserializerInstance&gt;)</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">&lt;dependency&gt;
+    &lt;groupId&gt;org.apache.kafka&lt;/groupId&gt;
+    &lt;artifactId&gt;kafka-streams&lt;/artifactId&gt;
+    &lt;version&gt;{{fullDotVersion}}&lt;/version&gt;
+&lt;/dependency&gt;</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&lt;T&gt;</span></code></li>
+          <li><code class="docutils literal"><span 
class="pre">WindowedSerdes.SessionWindowedSerde&lt;T&gt;</span></code></li>
+        </ul>
+        
+        <p><strong>Serializers:</strong></p>
+        <ul class="simple">
+          <li><code class="docutils literal"><span 
class="pre">TimeWindowedSerializer&lt;T&gt;</span></code></li>
+          <li><code class="docutils literal"><span 
class="pre">SessionWindowedSerializer&lt;T&gt;</span></code></li>
+        </ul>
+        
+        <p><strong>Deserializers:</strong></p>
+        <ul class="simple">
+          <li><code class="docutils literal"><span 
class="pre">TimeWindowedDeserializer&lt;T&gt;</span></code></li>
+          <li><code class="docutils literal"><span 
class="pre">SessionWindowedDeserializer&lt;T&gt;</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&lt;Windowed&lt;String&gt;&gt; timeWindowedSerde = 
+    WindowedSerdes.timeWindowedSerdeFrom(String.class, 500L);
+
+// Time windowed serde - using constructor
+Serde&lt;Windowed&lt;String&gt;&gt; timeWindowedSerde2 = 
+    new WindowedSerdes.TimeWindowedSerde&lt;&gt;(Serdes.String(), 500L);
+
+// Session windowed serde - using factory method
+Serde&lt;Windowed&lt;String&gt;&gt; sessionWindowedSerde = 
+    WindowedSerdes.sessionWindowedSerdeFrom(String.class);
+
+// Session windowed serde - using constructor  
+Serde&lt;Windowed&lt;String&gt;&gt; sessionWindowedSerde2 = 
+    new WindowedSerdes.SessionWindowedSerde&lt;&gt;(Serdes.String());
+
+// Using individual serializers/deserializers
+TimeWindowedSerializer&lt;String&gt; serializer = new 
TimeWindowedSerializer&lt;&gt;(Serdes.String().serializer());
+TimeWindowedDeserializer&lt;String&gt; deserializer = new 
TimeWindowedDeserializer&lt;&gt;(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]

Reply via email to