X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2FChatBackendApplication.java;h=0700496ee85856e2f58bb9ad4ffe0357a83342dc;hb=14c6a8c34de8b46b7f1655558727fc1276afb036;hp=f8c38b6340dac3f1c5dd7e29f759546f43b350e5;hpb=f0113ff34d7a4147ce54116680b611061244f39a;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 f8c38b63..0700496e 100644 --- a/src/main/java/de/juplo/kafka/chat/backend/ChatBackendApplication.java +++ b/src/main/java/de/juplo/kafka/chat/backend/ChatBackendApplication.java @@ -1,22 +1,29 @@ 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 reactor.core.publisher.Flux; @SpringBootApplication public class ChatBackendApplication { - @Bean - public Clock clock() + @Autowired + ChatHome chatHome; + @Autowired + StorageStrategy storageStrategy; + + @PreDestroy + public void onExit() { - return Clock.systemDefaultZone(); + storageStrategy.writeChatrooms(Flux.fromStream(chatHome.list())); } - public static void main(String[] args) { SpringApplication.run(ChatBackendApplication.class, args);