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.MongoReactiveAutoConfiguration;
8 import org.springframework.boot.context.properties.EnableConfigurationProperties;
9 import org.springframework.context.annotation.Bean;
10 import org.springframework.context.annotation.Configuration;
11
12 import java.time.Clock;
13
14
15 @Configuration
16 @EnableConfigurationProperties(ChatBackendProperties.class)
17 public class ChatBackendConfiguration
18 {
19   @Bean
20   Clock clock()
21   {
22     return Clock.systemDefaultZone();
23   }
24
25
26   @ConditionalOnExpression("!'${chat.backend.inmemory.storage-strategy}'.toLowerCase().equals('mongodb')")
27   @Configuration
28   @EnableAutoConfiguration(exclude = {
29       MongoReactiveDataAutoConfiguration.class,
30       MongoReactiveAutoConfiguration.class,
31       MongoReactiveRepositoriesAutoConfiguration.class })
32   public static class DisableMongoDBConfiguration
33   {
34   }
35 }