feat: first runnable implementation, that is based on Kafka
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / persistence / kafka / KafkaChatRoomFactory.java
1 package de.juplo.kafka.chat.backend.persistence.kafka;
2
3 import de.juplo.kafka.chat.backend.domain.ChatRoomFactory;
4 import de.juplo.kafka.chat.backend.domain.ChatRoomInfo;
5 import lombok.RequiredArgsConstructor;
6 import lombok.extern.slf4j.Slf4j;
7 import reactor.core.publisher.Mono;
8
9 import java.util.UUID;
10
11
12 @RequiredArgsConstructor
13 @Slf4j
14 public class KafkaChatRoomFactory implements ChatRoomFactory
15 {
16   private final ChatRoomChannel chatRoomChannel;
17
18   @Override
19   public Mono<ChatRoomInfo> createChatRoom(UUID id, String name)
20   {
21     log.info("Sending create-command for chat rooom: id={}, name={}");
22     return chatRoomChannel.sendCreateChatRoomRequest(id, name);
23   }
24 }