From c598f626339cd56331e1fa1e58ca0b79e912ef3a Mon Sep 17 00:00:00 2001 From: Andrei Isvoran Date: Thu, 4 Jul 2024 12:17:12 +0300 Subject: [PATCH] RED-9496 - Implement graceful shutdown --- ocr-service-v1/ocr-service-processor/build.gradle.kts | 1 + .../knecon/fforesight/service/ocr/v1/server/Application.java | 5 ++++- .../ocr-service-server/src/main/resources/application.yml | 3 +++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ocr-service-v1/ocr-service-processor/build.gradle.kts b/ocr-service-v1/ocr-service-processor/build.gradle.kts index 9b20264..0b0ad1b 100644 --- a/ocr-service-v1/ocr-service-processor/build.gradle.kts +++ b/ocr-service-v1/ocr-service-processor/build.gradle.kts @@ -15,6 +15,7 @@ dependencies { api("com.iqser.red.commons:metric-commons:2.1.0") api("com.iqser.red.commons:storage-commons:2.45.0") api("com.knecon.fforesight:tenant-commons:0.21.0") + api("com.knecon.fforesight:lifecycle-commons:0.6.0") api("com.pdftron:PDFNet:10.5.0") api("org.apache.pdfbox:pdfbox:3.0.0") api("org.apache.pdfbox:jbig2-imageio:3.0.4") diff --git a/ocr-service-v1/ocr-service-server/src/main/java/com/knecon/fforesight/service/ocr/v1/server/Application.java b/ocr-service-v1/ocr-service-server/src/main/java/com/knecon/fforesight/service/ocr/v1/server/Application.java index 9998824..26156d7 100644 --- a/ocr-service-v1/ocr-service-server/src/main/java/com/knecon/fforesight/service/ocr/v1/server/Application.java +++ b/ocr-service-v1/ocr-service-server/src/main/java/com/knecon/fforesight/service/ocr/v1/server/Application.java @@ -6,11 +6,13 @@ import org.springframework.boot.autoconfigure.ImportAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.context.annotation.Import; import org.springframework.scheduling.annotation.EnableAsync; import com.iqser.red.pdftronlogic.commons.InvisibleElementRemovalService; import com.iqser.red.pdftronlogic.commons.WatermarkRemovalService; +import com.knecon.fforesight.lifecyclecommons.LifecycleAutoconfiguration; import com.knecon.fforesight.service.ocr.processor.OcrServiceProcessorConfiguration; import com.knecon.fforesight.service.ocr.v1.server.queue.MessagingConfiguration; import com.iqser.red.storage.commons.StorageAutoConfiguration; @@ -21,9 +23,10 @@ import io.micrometer.core.aop.TimedAspect; import io.micrometer.core.instrument.MeterRegistry; @EnableAsync -@ImportAutoConfiguration({MultiTenancyAutoConfiguration.class}) +@ImportAutoConfiguration({MultiTenancyAutoConfiguration.class, LifecycleAutoconfiguration.class}) @SpringBootApplication(exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class}) @Import({MessagingConfiguration.class, StorageAutoConfiguration.class, OcrServiceProcessorConfiguration.class, OpenTelemetryConfig.class}) +@EnableAspectJAutoProxy public class Application { /** diff --git a/ocr-service-v1/ocr-service-server/src/main/resources/application.yml b/ocr-service-v1/ocr-service-server/src/main/resources/application.yml index 33ff53e..fb1cf91 100644 --- a/ocr-service-v1/ocr-service-server/src/main/resources/application.yml +++ b/ocr-service-v1/ocr-service-server/src/main/resources/application.yml @@ -12,6 +12,9 @@ project.version: 1.0-SNAPSHOT server: port: 8080 +lifecycle: + base-package: com.knecon.fforesight.service.ocr + spring: application: name: ocr-service