X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2FChatBackendApplication.java;h=8e1ff9e59a402ab3169cd7eddd47d460b7b7a7dd;hb=b44e10be71112a45855d04add6497e40d4c72d24;hp=0700496ee85856e2f58bb9ad4ffe0357a83342dc;hpb=14c6a8c34de8b46b7f1655558727fc1276afb036;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 0700496e..8e1ff9e5 100644 --- a/src/main/java/de/juplo/kafka/chat/backend/ChatBackendApplication.java +++ b/src/main/java/de/juplo/kafka/chat/backend/ChatBackendApplication.java @@ -6,22 +6,34 @@ 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 reactor.core.publisher.Flux; +import org.springframework.web.reactive.config.CorsRegistry; +import org.springframework.web.reactive.config.WebFluxConfigurer; @SpringBootApplication -public class ChatBackendApplication +public class ChatBackendApplication implements WebFluxConfigurer { @Autowired - ChatHome chatHome; + ChatBackendProperties properties; + @Autowired + ChatHome[] chatHomes; @Autowired StorageStrategy storageStrategy; + + @Override + public void addCorsMappings(CorsRegistry registry) + { + registry + .addMapping("/**") + .allowedOrigins(properties.getAllowedOrigins()); + } + @PreDestroy public void onExit() { - storageStrategy.writeChatrooms(Flux.fromStream(chatHome.list())); + for (int shard = 0; shard < chatHomes.length; shard++) + storageStrategy.write(chatHomes[shard].getChatRooms()); } public static void main(String[] args)