X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fwordcount%2Fquery%2FQueryStreamProcessor.java;fp=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fwordcount%2Fquery%2FQueryStreamProcessor.java;h=7dacd4b914e10717d539c69292300024e4b6c201;hb=0648885ec026d7434561060dc7edb703efea6853;hp=0692652d54a081e32459d5db0a42d90efd3f334c;hpb=2f5828ee2bbd662c3c81c76961d00b871468c8b9;p=demos%2Fkafka%2Fwordcount diff --git a/src/main/java/de/juplo/kafka/wordcount/query/QueryStreamProcessor.java b/src/main/java/de/juplo/kafka/wordcount/query/QueryStreamProcessor.java index 0692652..7dacd4b 100644 --- a/src/main/java/de/juplo/kafka/wordcount/query/QueryStreamProcessor.java +++ b/src/main/java/de/juplo/kafka/wordcount/query/QueryStreamProcessor.java @@ -5,7 +5,6 @@ import jakarta.annotation.PreDestroy; import lombok.extern.slf4j.Slf4j; import org.apache.kafka.common.serialization.Serdes; import org.apache.kafka.streams.*; -import org.apache.kafka.streams.kstream.Consumed; import org.apache.kafka.streams.kstream.KStream; import org.apache.kafka.streams.kstream.KTable; import org.apache.kafka.streams.kstream.Materialized; @@ -13,11 +12,9 @@ import org.apache.kafka.streams.state.HostInfo; import org.apache.kafka.streams.state.KeyValueBytesStoreSupplier; import org.apache.kafka.streams.state.QueryableStoreTypes; import org.apache.kafka.streams.state.ReadOnlyKeyValueStore; -import org.springframework.kafka.support.serializer.JsonDeserializer; import org.springframework.kafka.support.serializer.JsonSerde; import java.net.URI; -import java.util.Map; import java.util.Optional; import java.util.Properties; @@ -55,18 +52,9 @@ public class QueryStreamProcessor { StreamsBuilder builder = new StreamsBuilder(); - JsonSerde valueSerde = new JsonSerde(); - valueSerde.configure(Map.of( - JsonDeserializer.TYPE_MAPPINGS, - "user:" + Key.class.getName() + "," + - "ranking:" + Ranking.class.getName() + "," + - "userdata:" + User.class.getName() + "," + - "userranking:" + UserRanking.class.getName() - ), false); - KTable users = builder.table( - usersInputTopic, - Consumed.with(null, valueSerde.copyWithType(User.class)) - ); + KTable users = builder + .stream(usersInputTopic) + .toTable(Materialized.with(null, new JsonSerde().copyWithType(User.class))); KStream rankings = builder.stream(rankingInputTopic); rankings