X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fpersistence%2Finmemory%2FInMemoryChatRoomFactory.java;h=2bde23612a7c865fb91fdaccc39fd0957dbe88b5;hb=13c51b4630177e7f6649500a3d4b876a12509af6;hp=7fff359ccebd36e293b3e4d0c4285e96413b1a81;hpb=2095f4c6a102a52f2a15360d1b6355e4990f8f43;p=demos%2Fkafka%2Fchat diff --git a/src/main/java/de/juplo/kafka/chat/backend/persistence/inmemory/InMemoryChatRoomFactory.java b/src/main/java/de/juplo/kafka/chat/backend/persistence/inmemory/InMemoryChatRoomFactory.java index 7fff359c..2bde2361 100644 --- a/src/main/java/de/juplo/kafka/chat/backend/persistence/inmemory/InMemoryChatRoomFactory.java +++ b/src/main/java/de/juplo/kafka/chat/backend/persistence/inmemory/InMemoryChatRoomFactory.java @@ -1,9 +1,6 @@ package de.juplo.kafka.chat.backend.persistence.inmemory; -import de.juplo.kafka.chat.backend.domain.ShardingStrategy; -import de.juplo.kafka.chat.backend.domain.ChatRoom; -import de.juplo.kafka.chat.backend.domain.ChatRoomFactory; -import de.juplo.kafka.chat.backend.domain.ChatRoomService; +import de.juplo.kafka.chat.backend.domain.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import reactor.core.publisher.Flux; @@ -17,17 +14,20 @@ import java.util.UUID; @Slf4j public class InMemoryChatRoomFactory implements ChatRoomFactory { + private final InMemoryChatHomeService chatHomeService; private final ShardingStrategy shardingStrategy; private final Clock clock; private final int bufferSize; @Override - public Mono createChatRoom(UUID id, String name) + public Mono createChatRoom(UUID id, String name) { log.info("Creating ChatRoom with buffer-size {}", bufferSize); int shard = shardingStrategy.selectShard(id); ChatRoomService service = new InMemoryChatRoomService(Flux.empty()); - return Mono.just(new ChatRoom(id, name, shard, clock, service, bufferSize)); + ChatRoom chatRoom = new ChatRoom(id, name, shard, clock, service, bufferSize); + chatHomeService.putChatRoom(chatRoom); + return Mono.just(chatRoom); } }