TMP
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / ChatBackendConfiguration.java
1 package de.juplo.kafka.chat.backend;
2
3 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
4 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
5 import org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration;
6 import org.springframework.boot.autoconfigure.data.mongo.MongoReactiveRepositoriesAutoConfiguration;
7 import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
8 import org.springframework.boot.autoconfigure.mongo.MongoReactiveAutoConfiguration;
9 import org.springframework.boot.context.properties.EnableConfigurationProperties;
10 import org.springframework.context.annotation.Bean;
11 import org.springframework.context.annotation.Configuration;
12
13 import java.time.Clock;
14
15
16 @Configuration
17 @EnableConfigurationProperties(ChatBackendProperties.class)
18 public class ChatBackendConfiguration
19 {
20   @Bean
21   Clock clock()
22   {
23     return Clock.systemDefaultZone();
24   }
25
26
27   @ConditionalOnExpression("!'${chat.backend.inmemory.storage-strategy}'.toLowerCase().equals('mongodb')")
28   @Configuration
29   @EnableAutoConfiguration(exclude = {
30       MongoReactiveDataAutoConfiguration.class,
31       MongoReactiveAutoConfiguration.class,
32       MongoReactiveRepositoriesAutoConfiguration.class,
33       MongoAutoConfiguration.class })
34   public static class DisableMongoDBConfiguration
35   {
36   }
37 }