From 52c564b5e3f974cc32f07bb76cd59bfb9e0b316f Mon Sep 17 00:00:00 2001 From: Andrei Isvoran Date: Thu, 4 Jul 2024 12:50:37 +0300 Subject: [PATCH] RED-9496 - Implement graceful shutdown --- .../persistence-service-server-v1/build.gradle.kts | 1 + .../iqser/red/service/peristence/v1/server/Application.java | 5 ++++- .../src/main/resources/application.yaml | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/persistence-service-v1/persistence-service-server-v1/build.gradle.kts b/persistence-service-v1/persistence-service-server-v1/build.gradle.kts index 574accd15..d9f78a69f 100644 --- a/persistence-service-v1/persistence-service-server-v1/build.gradle.kts +++ b/persistence-service-v1/persistence-service-server-v1/build.gradle.kts @@ -24,6 +24,7 @@ dependencies { api(project(":persistence-service-internal-api-impl-v1")) api(project(":persistence-service-shared-mongo-v1")) api("com.iqser.red.commons:storage-commons:2.49.0") + api("com.knecon.fforesight:lifecycle-commons:0.6.0") api("junit:junit:4.13.2") api("org.apache.logging.log4j:log4j-slf4j-impl:2.20.0") api("net.logstash.logback:logstash-logback-encoder:7.4") diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/Application.java b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/Application.java index c4f7974eb..adb796458 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/Application.java +++ b/persistence-service-v1/persistence-service-server-v1/src/main/java/com/iqser/red/service/peristence/v1/server/Application.java @@ -4,6 +4,8 @@ import java.util.Collections; import java.util.Map; import java.util.Optional; +import org.springframework.context.annotation.EnableAspectJAutoProxy; +import com.knecon.fforesight.lifecyclecommons.LifecycleAutoconfiguration; import org.apache.catalina.Context; import org.apache.tomcat.websocket.server.WsSci; import org.springframework.beans.BeansException; @@ -72,9 +74,10 @@ import lombok.extern.slf4j.Slf4j; @EnableCaching @EnableConfigurationProperties({FileManagementServiceSettings.class}) @EnableMongoRepositories(basePackages = "com.iqser.red.service.persistence") -@ImportAutoConfiguration({StorageAutoConfiguration.class, JobsAutoConfiguration.class, DatabaseTenantCommonsAutoConfiguration.class, MultiTenancyAutoConfiguration.class, SpringDocAutoConfiguration.class, DefaultKeyCloakCommonsAutoConfiguration.class, MongoDatabaseCommonsAutoConfiguration.class}) +@ImportAutoConfiguration({StorageAutoConfiguration.class, JobsAutoConfiguration.class, DatabaseTenantCommonsAutoConfiguration.class, MultiTenancyAutoConfiguration.class, SpringDocAutoConfiguration.class, DefaultKeyCloakCommonsAutoConfiguration.class, MongoDatabaseCommonsAutoConfiguration.class, LifecycleAutoconfiguration.class}) @SpringBootApplication(exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class, CassandraAutoConfiguration.class, DataSourceAutoConfiguration.class, LiquibaseAutoConfiguration.class, MongoAutoConfiguration.class, MongoDataAutoConfiguration.class}) @Import({PersistenceServiceExternalApiConfigurationV2.class, PersistenceServiceExternalApiConfiguration.class, PersistenceServiceInternalApiConfiguration.class, PersistenceServiceExternalApiCacheConfiguration.class, MultiTenancyWebConfiguration.class, PersistenceServiceProcessorConfiguration.class, MessagingConfiguration.class, MultiTenancyMessagingConfiguration.class}) +@EnableAspectJAutoProxy public class Application implements ApplicationContextAware { /** diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yaml b/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yaml index a6bd7209b..191ba4a73 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yaml +++ b/persistence-service-v1/persistence-service-server-v1/src/main/resources/application.yaml @@ -21,6 +21,9 @@ application: server: port: 8080 +lifecycle: + base-package: com.iqser.red.service.peristence + spring: main: allow-bean-definition-overriding: true -- 2.47.2