From 95cde1eed9aaf5e770a92520d500e22138ac0df4 Mon Sep 17 00:00:00 2001 From: widlam Date: Fri, 12 May 2023 09:59:19 +0200 Subject: [PATCH] ddd --- .../java/com/r11/tools/KlausApplication.java | 3 ++ .../configuration/RetentionConfiguration.java | 34 +++++++++++++++++++ .../RetentionConfigurationProperties.java | 25 ++++++++++++++ .../IncomingMockRequestInterceptor.java | 5 +++ .../src/main/resources/application.properties | 11 ++++-- 5 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 Backend/mocked-services/src/main/java/com/r11/tools/configuration/RetentionConfiguration.java create mode 100644 Backend/mocked-services/src/main/java/com/r11/tools/configuration/RetentionConfigurationProperties.java diff --git a/Backend/mocked-services/src/main/java/com/r11/tools/KlausApplication.java b/Backend/mocked-services/src/main/java/com/r11/tools/KlausApplication.java index 47cb9e9..efb3637 100644 --- a/Backend/mocked-services/src/main/java/com/r11/tools/KlausApplication.java +++ b/Backend/mocked-services/src/main/java/com/r11/tools/KlausApplication.java @@ -1,7 +1,9 @@ package com.r11.tools; +import com.r11.tools.configuration.RetentionConfigurationProperties; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.properties.EnableConfigurationProperties; /** * It's generic Spring context starter. Move along... @@ -9,6 +11,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * @author Rafał Żukowicz */ @SpringBootApplication +@EnableConfigurationProperties(RetentionConfigurationProperties.class) public class KlausApplication { public static void main(String[] args) { diff --git a/Backend/mocked-services/src/main/java/com/r11/tools/configuration/RetentionConfiguration.java b/Backend/mocked-services/src/main/java/com/r11/tools/configuration/RetentionConfiguration.java new file mode 100644 index 0000000..ffe32ce --- /dev/null +++ b/Backend/mocked-services/src/main/java/com/r11/tools/configuration/RetentionConfiguration.java @@ -0,0 +1,34 @@ +package com.r11.tools.configuration; + +import ch.qos.logback.core.util.FixedDelay; +import lombok.AllArgsConstructor; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.Async; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; + +@EnableScheduling +@EnableAsync +@Configuration +public class RetentionConfiguration { + + @Async + @Scheduled(fixedDelayString = "#{${retention.minutes-to-delete-message} * 60000}") + public void deleteMessage(){ + System.out.println("Message deleting"); + } + + @Async + @Scheduled(fixedDelayString = "#{${retention.minutes-to-delete-history-record} * 60000}") + public void deleteHistoryRecord(){ + System.out.println("History deleting"); + } + + @Async + @Scheduled(fixedDelayString = "#{${retention.minutes-to-delete-unused-message} * 60000}") + public void deleteUnusedMessages(){ + System.out.println("Unused messages deleting"); + } + +} diff --git a/Backend/mocked-services/src/main/java/com/r11/tools/configuration/RetentionConfigurationProperties.java b/Backend/mocked-services/src/main/java/com/r11/tools/configuration/RetentionConfigurationProperties.java new file mode 100644 index 0000000..dbd78c7 --- /dev/null +++ b/Backend/mocked-services/src/main/java/com/r11/tools/configuration/RetentionConfigurationProperties.java @@ -0,0 +1,25 @@ +package com.r11.tools.configuration; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +import javax.validation.constraints.Positive; + +@Configuration +@ConfigurationProperties(prefix = "retention") +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +public class RetentionConfigurationProperties { + @Positive + private Integer minutesToDeleteMessage; + @Positive + private Integer minutesToDeleteHistoryRecord; + @Positive + private Integer minutesToDeleteUnusedMessage; +} diff --git a/Backend/mocked-services/src/main/java/com/r11/tools/interceptor/IncomingMockRequestInterceptor.java b/Backend/mocked-services/src/main/java/com/r11/tools/interceptor/IncomingMockRequestInterceptor.java index 4cac531..70faec3 100644 --- a/Backend/mocked-services/src/main/java/com/r11/tools/interceptor/IncomingMockRequestInterceptor.java +++ b/Backend/mocked-services/src/main/java/com/r11/tools/interceptor/IncomingMockRequestInterceptor.java @@ -19,6 +19,11 @@ import java.util.*; import java.util.stream.Collectors; import java.util.stream.StreamSupport; +/** + * Interceptor that gets needed data from HttpRequest, and saves it to history + * @author Mikołaj Widła + */ + @Component @AllArgsConstructor public class IncomingMockRequestInterceptor implements HandlerInterceptor { diff --git a/Backend/mocked-services/src/main/resources/application.properties b/Backend/mocked-services/src/main/resources/application.properties index 698b023..ec3ce99 100644 --- a/Backend/mocked-services/src/main/resources/application.properties +++ b/Backend/mocked-services/src/main/resources/application.properties @@ -1,9 +1,16 @@ #environment: server.port = 8097 -spring.redis.host=redis -spring.redis.port=6379 spring.application.name = klaus spring.mvc.view.suffix=.html logging.level.root=INFO logging.level.org.springframework.web=INFO logging.level.com.release11=INFO + +#database: +spring.redis.host=redis +spring.redis.port=6379 + +#retention +retention.minutes-to-delete-message=1 +retention.minutes-to-delete-history-record=2 +retention.minutes-to-delete-unused-message=3