1 package de.juplo.kafka.chat.backend;
3 import de.juplo.kafka.chat.backend.domain.ChatHome;
4 import de.juplo.kafka.chat.backend.domain.ChatroomFactory;
5 import de.juplo.kafka.chat.backend.persistence.InMemoryChatroomFactory;
6 import de.juplo.kafka.chat.backend.persistence.InMemoryPersistenceStrategy;
7 import org.springframework.context.annotation.Bean;
8 import org.springframework.context.annotation.Configuration;
10 import java.time.Clock;
14 public class ChatBackendConfiguration
17 public ChatHome chatHome(ChatroomFactory chatroomFactory)
19 return new ChatHome(chatroomFactory);
23 ChatroomFactory chatroomFactory(InMemoryPersistenceStrategy persistenceStrategy)
25 return new InMemoryChatroomFactory(persistenceStrategy);
29 InMemoryPersistenceStrategy persistenceStrategy()
31 return new InMemoryPersistenceStrategy();
37 return Clock.systemDefaultZone();