TMP
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / storage / nostorage / NoStorageStorageConfiguration.java
1 package de.juplo.kafka.chat.backend.storage.nostorage;
2
3 import de.juplo.kafka.chat.backend.implementation.StorageStrategy;
4 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
5 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
6 import org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration;
7 import org.springframework.boot.autoconfigure.data.mongo.MongoReactiveRepositoriesAutoConfiguration;
8 import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
9 import org.springframework.context.annotation.Bean;
10 import org.springframework.context.annotation.Configuration;
11
12
13 @ConditionalOnProperty(
14     prefix = "chat.backend.inmemory",
15     name = "storage-strategy",
16     havingValue = "none",
17     matchIfMissing = true)
18 @Configuration
19 public class NoStorageStorageConfiguration
20 {
21   @Bean
22   public StorageStrategy storageStrategy()
23   {
24     return new NoStorageStorageStrategy();
25   }
26
27   @Configuration
28   @EnableAutoConfiguration(
29       exclude = {
30           MongoReactiveDataAutoConfiguration.class,
31           MongoReactiveRepositoriesAutoConfiguration.class,
32           MongoAutoConfiguration.class })
33   public static class DisableMongoConfiguration
34   {
35     @Bean
36     public String foo()
37     {
38       return "FOO";
39     }
40   }
41 }