X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fpersistence%2Fkafka%2FKafkaChatRoomFactory.java;h=23bd921d5493ddd1eb57c3dadc128a4e36b6b9ee;hb=13c51b4630177e7f6649500a3d4b876a12509af6;hp=20d85e8035048301db0d8491ed809689a3498458;hpb=ba3aba8860f41fcc54970d5e234fee0576768c98;p=demos%2Fkafka%2Fchat diff --git a/src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/KafkaChatRoomFactory.java b/src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/KafkaChatRoomFactory.java index 20d85e80..23bd921d 100644 --- a/src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/KafkaChatRoomFactory.java +++ b/src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/KafkaChatRoomFactory.java @@ -2,16 +2,29 @@ package de.juplo.kafka.chat.backend.persistence.kafka; import de.juplo.kafka.chat.backend.domain.ChatRoom; import de.juplo.kafka.chat.backend.domain.ChatRoomFactory; +import de.juplo.kafka.chat.backend.domain.ChatRoomInfo; +import de.juplo.kafka.chat.backend.domain.ShardingStrategy; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import reactor.core.publisher.Mono; +import java.time.Clock; import java.util.UUID; +@RequiredArgsConstructor +@Slf4j public class KafkaChatRoomFactory implements ChatRoomFactory { + private final ChatRoomChannel chatRoomChannel; + @Override - public Mono createChatRoom(UUID id, String name) + public Mono createChatRoom(UUID id, String name) { - return null; + log.info("Creating ChatRoom with buffer-size {}", bufferSize); + KafkaChatRoomService service = new KafkaChatRoomService(chatRoomChannel, id); + ChatRoom chatRoom = new ChatRoom(id, name, shard, clock, service, bufferSize); + chatRoomChannel.putChatRoom(chatRoom); + return Mono.just(chatRoom); } }