From 6866bacf52b8aadf8a0c9c8fbd379a8740d2a35c Mon Sep 17 00:00:00 2001 From: "ivanov.denis" Date: Mon, 30 Sep 2024 15:34:19 +0300 Subject: [PATCH 1/2] ? --- backend/src/main/java/WebAppInitializer.java | 19 ++++++++++++------- config/micord.env | 4 ++++ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/backend/src/main/java/WebAppInitializer.java b/backend/src/main/java/WebAppInitializer.java index a0fc7d01..f63b73b9 100644 --- a/backend/src/main/java/WebAppInitializer.java +++ b/backend/src/main/java/WebAppInitializer.java @@ -3,6 +3,8 @@ import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRegistration; +import com.hazelcast.internal.util.JsonUtil; +import org.jooq.impl.QOM; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; import org.springframework.web.util.IntrospectorCleanupListener; @@ -13,13 +15,6 @@ import org.springframework.web.util.IntrospectorCleanupListener; */ public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { - @Value("${ervu.fileupload.max_file_size}") - private int maxFileSize; - @Value("${ervu.fileupload.max_request_size}") - private int maxRequestSize; - @Value("${ervu.fileupload.file_size_threshold}") - private int fileSizeThreshold; - public void onStartup(ServletContext servletContext) throws ServletException { super.onStartup(servletContext); servletContext.addListener(new IntrospectorCleanupListener()); @@ -41,11 +36,21 @@ public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServlet @Override protected void customizeRegistration(ServletRegistration.Dynamic registration) { + int maxFileSize = Integer.parseInt(System.getenv("ervu.fileupload.max_file_size")); + int maxRequestSize = Integer.parseInt(System.getenv("${ervu.fileupload.max_request_size}")); + int fileSizeThreshold = Integer.parseInt(System.getenv("${ervu.fileupload.file_size_threshold}")); + MultipartConfigElement multipartConfigElement = new MultipartConfigElement( "/tmp", maxFileSize, maxRequestSize, fileSizeThreshold); registration.setMultipartConfig(multipartConfigElement); + + System.out.println("=8=8> MFS : " + multipartConfigElement.getMaxFileSize()); + System.out.println("=8=8> MRS : " + multipartConfigElement.getMaxRequestSize()); + System.out.println("=8=8> FST : " + multipartConfigElement.getFileSizeThreshold()); + } + } diff --git a/config/micord.env b/config/micord.env index 34ef2345..84054311 100644 --- a/config/micord.env +++ b/config/micord.env @@ -46,3 +46,7 @@ ERVU_KAFKA_EXCERPT_REQUEST_TOPIC=ervu.lkrp.excerpt.request S3_ENDPOINT=http://ervu-minio.k8s.micord.ru:31900 S3_ACCESS_KEY=rlTdTvkmSXu9FsLhfecw S3_SECRET_KEY=NUmY0wwRIEyAd98GCKd1cOgJWvLQYAcMMul5Ulu0 + +ervu.fileupload.max_file_size=1 +ervu.fileupload.max_request_size=10 +ervu.fileupload.file_size_threshold=10 From 3d89fb578066c091abb3d63032279d067b18c593 Mon Sep 17 00:00:00 2001 From: "ivanov.denis" Date: Mon, 30 Sep 2024 16:30:18 +0300 Subject: [PATCH 2/2] SUPPORT-8438 --- backend/src/main/java/WebAppInitializer.java | 41 ++++++++++++++------ config/micord.env | 8 ++-- config/standalone/dev/standalone.xml | 3 -- 3 files changed, 33 insertions(+), 19 deletions(-) diff --git a/backend/src/main/java/WebAppInitializer.java b/backend/src/main/java/WebAppInitializer.java index f63b73b9..a4c6c7de 100644 --- a/backend/src/main/java/WebAppInitializer.java +++ b/backend/src/main/java/WebAppInitializer.java @@ -1,20 +1,21 @@ +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; +import org.springframework.web.util.IntrospectorCleanupListener; + import javax.servlet.MultipartConfigElement; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRegistration; -import com.hazelcast.internal.util.JsonUtil; -import org.jooq.impl.QOM; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; -import org.springframework.web.util.IntrospectorCleanupListener; - /** * This initializer creates root context and registers dispatcher servlet * Spring scans for initializers automatically */ public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { + private static final Logger logger = LoggerFactory.getLogger(WebAppInitializer.class); + public void onStartup(ServletContext servletContext) throws ServletException { super.onStartup(servletContext); servletContext.addListener(new IntrospectorCleanupListener()); @@ -36,9 +37,11 @@ public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServlet @Override protected void customizeRegistration(ServletRegistration.Dynamic registration) { - int maxFileSize = Integer.parseInt(System.getenv("ervu.fileupload.max_file_size")); - int maxRequestSize = Integer.parseInt(System.getenv("${ervu.fileupload.max_request_size}")); - int fileSizeThreshold = Integer.parseInt(System.getenv("${ervu.fileupload.file_size_threshold}")); + + // read from env or assign default values + int maxFileSize = parseOrDefault("ERVU_FILE_UPLOAD_MAX_FILE_SIZE", 5242880); + int maxRequestSize = parseOrDefault("ERVU_FILE_UPLOAD_MAX_REQUEST_SIZE", 6291456); + int fileSizeThreshold = parseOrDefault("ERVU_FILE_UPLOAD_FILE_SIZE_THRESHOLD", 0); MultipartConfigElement multipartConfigElement = new MultipartConfigElement( "/tmp", @@ -47,10 +50,24 @@ public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServlet fileSizeThreshold); registration.setMultipartConfig(multipartConfigElement); - System.out.println("=8=8> MFS : " + multipartConfigElement.getMaxFileSize()); - System.out.println("=8=8> MRS : " + multipartConfigElement.getMaxRequestSize()); - System.out.println("=8=8> FST : " + multipartConfigElement.getFileSizeThreshold()); + logger.info("Max file upload size is set to: " + multipartConfigElement.getMaxFileSize()); + logger.info("Max file upload request size is set to: " + multipartConfigElement.getMaxRequestSize()); + logger.info("File size threshold is set to: " + multipartConfigElement.getFileSizeThreshold()); } + private int parseOrDefault(String envVar, int defaultVal) { + String envVarValue = System.getenv(envVar); + if (envVar == null) { + logger.info("Environment variable {} is null, using default value: {}", envVar, defaultVal); + return defaultVal; + } + try { + return Integer.parseInt(envVarValue); + } catch (NumberFormatException e) { + logger.info("Environment variable {} is not an integer, using default value: {}", envVar, defaultVal); + return defaultVal; + } + } + } diff --git a/config/micord.env b/config/micord.env index 84054311..6490f81a 100644 --- a/config/micord.env +++ b/config/micord.env @@ -43,10 +43,10 @@ ERVU_KAFKA_PASSWORD=Blfi9d2OFG ERVU_KAFKA_EXCERPT_REPLY_TOPIC=ervu.lkrp.excerpt.response ERVU_KAFKA_EXCERPT_REQUEST_TOPIC=ervu.lkrp.excerpt.request +ERVU_FILE_UPLOAD_MAX_FILE_SIZE=5242880 +ERVU_FILE_UPLOAD_MAX_REQUEST_SIZE=6291456 +ERVU_FILE_UPLOAD_FILE_SIZE_THRESHOLD=0 + S3_ENDPOINT=http://ervu-minio.k8s.micord.ru:31900 S3_ACCESS_KEY=rlTdTvkmSXu9FsLhfecw S3_SECRET_KEY=NUmY0wwRIEyAd98GCKd1cOgJWvLQYAcMMul5Ulu0 - -ervu.fileupload.max_file_size=1 -ervu.fileupload.max_request_size=10 -ervu.fileupload.file_size_threshold=10 diff --git a/config/standalone/dev/standalone.xml b/config/standalone/dev/standalone.xml index a15698dd..f6dd18cf 100644 --- a/config/standalone/dev/standalone.xml +++ b/config/standalone/dev/standalone.xml @@ -64,9 +64,6 @@ - - -