TMP
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / storage / mongodb / MongoDbStorageConfiguration.java
1 package de.juplo.kafka.chat.backend.storage.mongodb;
2
3 import de.juplo.kafka.chat.backend.ChatBackendProperties;
4 import de.juplo.kafka.chat.backend.implementation.ShardingStrategy;
5 import de.juplo.kafka.chat.backend.implementation.StorageStrategy;
6 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
7 import org.springframework.context.annotation.Bean;
8 import org.springframework.context.annotation.Configuration;
9
10
11 @ConditionalOnProperty(
12     prefix = "chat.backend.inmemory",
13     name = "storage-strategy",
14     havingValue = "mongodb")
15 @Configuration
16 public class MongoDbStorageConfiguration
17 {
18   @Bean
19   public StorageStrategy storageStrategy(
20       ChatRoomRepository chatRoomRepository,
21       MessageRepository messageRepository,
22       ChatBackendProperties properties)
23   {
24     return new MongoDbStorageStrategy(
25         chatRoomRepository,
26         messageRepository,
27         properties.getProjectreactor().getLoggingLevel(),
28         properties.getProjectreactor().isShowOperatorLine());
29   }
30 }