X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2FChatBackendApplication.java;h=c61f8488db7a4555e3c5ce5b7798c3545cf40892;hb=009435373fa6adf7ec9e375ef71a545c8c8f010d;hp=7f6f213f242e05ca012733251b8c620e687ea7bb;hpb=cefddb38a921a228ae470736faf0f3943c105393;p=demos%2Fkafka%2Fchat diff --git a/src/main/java/de/juplo/kafka/chat/backend/ChatBackendApplication.java b/src/main/java/de/juplo/kafka/chat/backend/ChatBackendApplication.java index 7f6f213f..c61f8488 100644 --- a/src/main/java/de/juplo/kafka/chat/backend/ChatBackendApplication.java +++ b/src/main/java/de/juplo/kafka/chat/backend/ChatBackendApplication.java @@ -1,15 +1,40 @@ package de.juplo.kafka.chat.backend; +import de.juplo.kafka.chat.backend.domain.ChatHome; +import de.juplo.kafka.chat.backend.persistence.StorageStrategy; +import jakarta.annotation.PreDestroy; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.Bean; - -import java.time.Clock; +import org.springframework.web.reactive.config.CorsRegistry; +import org.springframework.web.reactive.config.WebFluxConfigurer; @SpringBootApplication -public class ChatBackendApplication +public class ChatBackendApplication implements WebFluxConfigurer { + @Autowired + ChatBackendProperties properties; + @Autowired + ChatHome chatHome; + @Autowired + StorageStrategy storageStrategy; + + + @Override + public void addCorsMappings(CorsRegistry registry) + { + registry + .addMapping("/**") + .allowedOrigins(properties.getAllowedOrigins()); + } + + @PreDestroy + public void onExit() + { + storageStrategy.write(chatHome.getChatRooms()); + } + public static void main(String[] args) { SpringApplication.run(ChatBackendApplication.class, args);