From 72c67a02f39b657be988925b80928b688ddf533d Mon Sep 17 00:00:00 2001 From: Andrei Isvoran Date: Thu, 4 Jul 2024 11:29:46 +0300 Subject: [PATCH] RED-9496 - Implement graceful shutdown --- .../redaction-service-server-v1/build.gradle.kts | 2 ++ .../iqser/red/service/redaction/v1/server/Application.java | 6 ++++-- .../src/main/resources/application.yml | 3 +++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/redaction-service-v1/redaction-service-server-v1/build.gradle.kts b/redaction-service-v1/redaction-service-server-v1/build.gradle.kts index d490c529..21251c4f 100644 --- a/redaction-service-v1/redaction-service-server-v1/build.gradle.kts +++ b/redaction-service-v1/redaction-service-server-v1/build.gradle.kts @@ -21,6 +21,7 @@ val springBootStarterVersion = "3.1.5" val springCloudVersion = "4.0.4" val testContainersVersion = "1.19.7" val tomcatVersion = "10.1.18" +val lifecycleCommonsVersion = "0.6.0" configurations { all { @@ -39,6 +40,7 @@ dependencies { implementation("com.iqser.red.commons:spring-commons:6.2.0") implementation("com.iqser.red.commons:metric-commons:2.3.0") + implementation("com.knecon.fforesight:lifecycle-commons:${lifecycleCommonsVersion}") implementation("com.iqser.red.commons:dictionary-merge-commons:1.5.0") implementation("com.iqser.red.commons:storage-commons:2.45.0") diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/Application.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/Application.java index 8d647f99..61f8ce02 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/Application.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/Application.java @@ -9,11 +9,11 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration; import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; -import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cache.annotation.EnableCaching; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.context.annotation.Import; import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; @@ -22,6 +22,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.mongo.SharedMongo import com.iqser.red.service.redaction.v1.server.client.RulesClient; import com.iqser.red.storage.commons.StorageAutoConfiguration; import com.knecon.fforesight.keycloakcommons.DefaultKeyCloakCommonsAutoConfiguration; +import com.knecon.fforesight.lifecyclecommons.LifecycleAutoconfiguration; import com.knecon.fforesight.mongo.database.commons.MongoDatabaseCommonsAutoConfiguration; import com.knecon.fforesight.mongo.database.commons.liquibase.EnableMongoLiquibase; import com.knecon.fforesight.tenantcommons.MultiTenancyAutoConfiguration; @@ -34,12 +35,13 @@ import lombok.extern.slf4j.Slf4j; @Slf4j @EnableCaching -@ImportAutoConfiguration({MultiTenancyAutoConfiguration.class, SharedMongoAutoConfiguration.class, DefaultKeyCloakCommonsAutoConfiguration.class}) +@ImportAutoConfiguration({MultiTenancyAutoConfiguration.class, SharedMongoAutoConfiguration.class, DefaultKeyCloakCommonsAutoConfiguration.class, LifecycleAutoconfiguration.class}) @Import({MetricsConfiguration.class, StorageAutoConfiguration.class, MongoDatabaseCommonsAutoConfiguration.class}) @EnableFeignClients(basePackageClasses = RulesClient.class) @EnableConfigurationProperties(RedactionServiceSettings.class) @EnableMongoRepositories(basePackages = "com.iqser.red.service.persistence") @EnableMongoLiquibase +@EnableAspectJAutoProxy @SpringBootApplication(exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class, DataSourceAutoConfiguration.class, LiquibaseAutoConfiguration.class, MongoAutoConfiguration.class, MongoDataAutoConfiguration.class}) public class Application { diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/resources/application.yml b/redaction-service-v1/redaction-service-server-v1/src/main/resources/application.yml index 2298c984..a5056820 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/resources/application.yml +++ b/redaction-service-v1/redaction-service-server-v1/src/main/resources/application.yml @@ -16,6 +16,9 @@ project.version: 1.0-SNAPSHOT server: port: 8080 +lifecycle: + base-package: com.iqser.red.service.redaction.v1.server + fforesight: keycloak: enabled: true -- 2.47.2