NEU
[demos/kafka/chat] / src / test / java / de / juplo / kafka / chat / backend / persistence / kafka / KafkaServicesConfiguration.java
index b7eb711..63f7dbf 100644 (file)
@@ -2,6 +2,7 @@ package de.juplo.kafka.chat.backend.persistence.kafka;
 
 import de.juplo.kafka.chat.backend.ChatBackendProperties;
 import de.juplo.kafka.chat.backend.domain.ChatHome;
+import de.juplo.kafka.chat.backend.domain.Message;
 import de.juplo.kafka.chat.backend.domain.ShardingStrategy;
 import de.juplo.kafka.chat.backend.persistence.KafkaLikeShardingStrategy;
 import org.apache.kafka.clients.consumer.Consumer;
@@ -22,6 +23,8 @@ import org.springframework.kafka.support.serializer.JsonSerializer;
 
 import java.time.Clock;
 import java.time.ZoneId;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.Properties;
 
 
@@ -87,6 +90,9 @@ public class KafkaServicesConfiguration
   JsonSerializer<ChatRoomTo> chatRoomSerializer()
   {
     JsonSerializer<ChatRoomTo> serializer = new JsonSerializer<>();
+    serializer.configure(
+        Map.of(JsonSerializer.ADD_TYPE_INFO_HEADERS, false),
+        false);
     return serializer;
   }
 
@@ -96,8 +102,9 @@ public class KafkaServicesConfiguration
       IntegerDeserializer integerDeserializer,
       JsonDeserializer<ChatRoomTo> chatRoomDeserializer)
   {
-    Properties properties = new Properties(defaultConsumerProperties);
-    properties.setProperty(
+    Map<String, Object> properties = new HashMap<>();
+    defaultConsumerProperties.forEach((key, value) -> properties.put(key.toString(), value));
+    properties.put(
         ConsumerConfig.GROUP_ID_CONFIG,
         "chat_room_channel");
     return new KafkaConsumer<>(
@@ -116,6 +123,12 @@ public class KafkaServicesConfiguration
   JsonDeserializer<ChatRoomTo> chatRoomDeserializer()
   {
     JsonDeserializer<ChatRoomTo> deserializer = new JsonDeserializer<>();
+    deserializer.configure(
+        Map.of(
+            JsonDeserializer.USE_TYPE_INFO_HEADERS, false,
+            JsonDeserializer.VALUE_DEFAULT_TYPE, ChatRoomTo.class,
+            JsonDeserializer.TRUSTED_PACKAGES, getClass().getPackageName()),
+        false );
     return deserializer;
   }
 
@@ -162,6 +175,9 @@ public class KafkaServicesConfiguration
   JsonSerializer<MessageTo> chatMessageSerializer()
   {
     JsonSerializer<MessageTo> serializer = new JsonSerializer<>();
+    serializer.configure(
+        Map.of(JsonSerializer.ADD_TYPE_INFO_HEADERS, false),
+        false);
     return serializer;
   }
 
@@ -171,8 +187,9 @@ public class KafkaServicesConfiguration
       StringDeserializer stringDeserializer,
       JsonDeserializer<MessageTo> messageDeserializer)
   {
-    Properties properties = new Properties(defaultConsumerProperties);
-    properties.setProperty(
+    Map<String, Object> properties = new HashMap<>();
+    defaultConsumerProperties.forEach((key, value) -> properties.put(key.toString(), value));
+    properties.put(
         ConsumerConfig.GROUP_ID_CONFIG,
         "chat_message_channel");
     return new KafkaConsumer<>(
@@ -191,6 +208,12 @@ public class KafkaServicesConfiguration
   JsonDeserializer<MessageTo> chatMessageDeserializer()
   {
     JsonDeserializer<MessageTo> deserializer = new JsonDeserializer<>();
+    deserializer.configure(
+        Map.of(
+            JsonDeserializer.USE_TYPE_INFO_HEADERS, false,
+            JsonDeserializer.VALUE_DEFAULT_TYPE, MessageTo.class,
+            JsonDeserializer.TRUSTED_PACKAGES, getClass().getPackageName()),
+        false );
     return deserializer;
   }