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;
import java.time.Clock;
import java.time.ZoneId;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Properties;
JsonSerializer<ChatRoomTo> chatRoomSerializer()
{
JsonSerializer<ChatRoomTo> serializer = new JsonSerializer<>();
+ serializer.configure(
+ Map.of(JsonSerializer.ADD_TYPE_INFO_HEADERS, false),
+ false);
return serializer;
}
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<>(
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;
}
JsonSerializer<MessageTo> chatMessageSerializer()
{
JsonSerializer<MessageTo> serializer = new JsonSerializer<>();
+ serializer.configure(
+ Map.of(JsonSerializer.ADD_TYPE_INFO_HEADERS, false),
+ false);
return serializer;
}
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<>(
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;
}