From b311fedc6be0c62bd76d10eea98c42e0a037b26d Mon Sep 17 00:00:00 2001 From: EightMonth Date: Tue, 26 Dec 2023 15:03:35 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=8D=87=E7=BA=A7fastjson=E8=87=B32.0.43?= =?UTF-8?q?=EF=BC=8C=E6=9B=BF=E6=8D=A2tomcat=E4=B8=BAundertow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeecg-boot-base-core/pom.xml | 10 +++ .../org/jeecg/common/util/oConvertUtils.java | 2 +- .../java/org/jeecg/config/Swagger3Config.java | 2 +- .../org/jeecg/config/UndertowCustomizer.java | 23 +++++++ .../config/init/TomcatFactoryConfig.java | 66 +++++++++---------- .../src/main/resources/application-dev.yml | 9 ++- pom.xml | 2 +- 7 files changed, 76 insertions(+), 38 deletions(-) create mode 100644 jeecg-boot-base-core/src/main/java/org/jeecg/config/UndertowCustomizer.java diff --git a/jeecg-boot-base-core/pom.xml b/jeecg-boot-base-core/pom.xml index a95b7636a..47bf10d1c 100644 --- a/jeecg-boot-base-core/pom.xml +++ b/jeecg-boot-base-core/pom.xml @@ -53,6 +53,16 @@ org.springframework.boot spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-tomcat + + + + + org.springframework.boot + spring-boot-starter-undertow diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java index 6366ee2de..ba2e071d0 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/oConvertUtils.java @@ -413,7 +413,7 @@ public class oConvertUtils { return false; } - String[] childs = childArray.toArray(new String[]{}); + String[] childs = (String[]) childArray.toArray(); for (String v : childs) { if (!isIn(v, all)) { return false; diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger3Config.java b/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger3Config.java index 1ab523f41..e2a248f3b 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger3Config.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger3Config.java @@ -16,7 +16,7 @@ import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** - * @author kezhijie@wuhandsj.com + * @author EightMonth * @date 2023/11/2 14:19 */ @Configuration diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/config/UndertowCustomizer.java b/jeecg-boot-base-core/src/main/java/org/jeecg/config/UndertowCustomizer.java new file mode 100644 index 000000000..57a177a6f --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/config/UndertowCustomizer.java @@ -0,0 +1,23 @@ +package org.jeecg.config; + +import io.undertow.server.DefaultByteBufferPool; +import io.undertow.websockets.jsr.WebSocketDeploymentInfo; +import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory; +import org.springframework.boot.web.server.WebServerFactoryCustomizer; +import org.springframework.stereotype.Component; + +/** + * @author EightMonth + * @date 2023/12/26 14:36 + */ +@Component +public class UndertowCustomizer implements WebServerFactoryCustomizer { + @Override + public void customize(UndertowServletWebServerFactory factory) { + factory.addDeploymentInfoCustomizers(deploymentInfo -> { + WebSocketDeploymentInfo webSocketDeploymentInfo = new WebSocketDeploymentInfo(); + webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(false, 1024)); + deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo); + }); + } +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/init/TomcatFactoryConfig.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/init/TomcatFactoryConfig.java index ac4d2a5b4..4406122d0 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/init/TomcatFactoryConfig.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/config/init/TomcatFactoryConfig.java @@ -1,33 +1,33 @@ -package org.jeecg.config.init; - -import org.apache.catalina.Context; -import org.apache.tomcat.util.scan.StandardJarScanner; -import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * @Description: TomcatFactoryConfig - * @author: scott - * @date: 2021年01月25日 11:40 - */ -@Configuration -public class TomcatFactoryConfig { - /** - * tomcat-embed-jasper引用后提示jar找不到的问题 - */ - @Bean - public TomcatServletWebServerFactory tomcatFactory() { - TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() { - @Override - protected void postProcessContext(Context context) { - ((StandardJarScanner) context.getJarScanner()).setScanManifest(false); - } - }; - factory.addConnectorCustomizers(connector -> { - connector.setProperty("relaxedPathChars", "[]{}"); - connector.setProperty("relaxedQueryChars", "[]{}"); - }); - return factory; - } -} +//package org.jeecg.config.init; +// +//import org.apache.catalina.Context; +//import org.apache.tomcat.util.scan.StandardJarScanner; +//import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +// +///** +// * @Description: TomcatFactoryConfig +// * @author: scott +// * @date: 2021年01月25日 11:40 +// */ +//@Configuration +//public class TomcatFactoryConfig { +// /** +// * tomcat-embed-jasper引用后提示jar找不到的问题 +// */ +// @Bean +// public TomcatServletWebServerFactory tomcatFactory() { +// TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() { +// @Override +// protected void postProcessContext(Context context) { +// ((StandardJarScanner) context.getJarScanner()).setScanManifest(false); +// } +// }; +// factory.addConnectorCustomizers(connector -> { +// connector.setProperty("relaxedPathChars", "[]{}"); +// connector.setProperty("relaxedQueryChars", "[]{}"); +// }); +// return factory; +// } +//} diff --git a/jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml b/jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml index f2c2746c4..52902e455 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml +++ b/jeecg-module-system/jeecg-system-start/src/main/resources/application-dev.yml @@ -1,7 +1,12 @@ server: port: 8080 - tomcat: - max-swallow-size: -1 + undertow: + # 平替 tomcat server.tomcat.max-swallow-siz, undertow该值默认为-1 + # max-http-post-size: 10MB + worker-threads: 16 # 4核CPU标准配置 + buffers: + websocket: 8192 # WebSocket缓冲 以字节为单位,这里设置为8 KB + io: 16384 # IO操作缓冲 以字节为单位,这里设置为16 KB error: include-exception: true include-stacktrace: ALWAYS diff --git a/pom.xml b/pom.xml index 9ca1c1492..56a9e4c98 100644 --- a/pom.xml +++ b/pom.xml @@ -38,7 +38,7 @@ 2.0.4 2.2.0 - 1.2.83 + 2.0.43 1.6.0 4.3.0 2.0.9 From 87f9dc0064692a8a37db8bba98457f799e9451ae Mon Sep 17 00:00:00 2001 From: EightMonth Date: Tue, 26 Dec 2023 15:17:50 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=97=A0=E6=84=8F?= =?UTF-8?q?=E4=B9=89=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/jeecg/config/Swagger3Config.java | 4 ---- .../src/main/java/org/jeecg/config/UndertowCustomizer.java | 4 ---- 2 files changed, 8 deletions(-) diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger3Config.java b/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger3Config.java index e2a248f3b..0c59779fb 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger3Config.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/config/Swagger3Config.java @@ -15,10 +15,6 @@ import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -/** - * @author EightMonth - * @date 2023/11/2 14:19 - */ @Configuration public class Swagger3Config implements WebMvcConfigurer { /** diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/config/UndertowCustomizer.java b/jeecg-boot-base-core/src/main/java/org/jeecg/config/UndertowCustomizer.java index 57a177a6f..afc484b98 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/config/UndertowCustomizer.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/config/UndertowCustomizer.java @@ -6,10 +6,6 @@ import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFa import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.stereotype.Component; -/** - * @author EightMonth - * @date 2023/12/26 14:36 - */ @Component public class UndertowCustomizer implements WebServerFactoryCustomizer { @Override From 33c0104a02898b95bf9333bbf3a4984e430c8078 Mon Sep 17 00:00:00 2001 From: EightMonth Date: Tue, 26 Dec 2023 17:11:54 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=A2=9E=E5=8A=A0undertow=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=88=B0test\prod=20=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-prod.yml | 9 +++++++-- .../src/main/resources/application-test.yml | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml b/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml index 092e517a0..ea078924b 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml +++ b/jeecg-module-system/jeecg-system-start/src/main/resources/application-prod.yml @@ -1,7 +1,12 @@ server: port: 8080 - tomcat: - max-swallow-size: -1 + undertow: + # 平替 tomcat server.tomcat.max-swallow-siz, undertow该值默认为-1 + # max-http-post-size: 10MB + worker-threads: 16 # 4核CPU标准配置 + buffers: + websocket: 8192 # WebSocket缓冲 以字节为单位,这里设置为8 KB + io: 16384 # IO操作缓冲 以字节为单位,这里设置为16 KB error: include-exception: true include-stacktrace: ALWAYS diff --git a/jeecg-module-system/jeecg-system-start/src/main/resources/application-test.yml b/jeecg-module-system/jeecg-system-start/src/main/resources/application-test.yml index 2264061ae..5233441b1 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/resources/application-test.yml +++ b/jeecg-module-system/jeecg-system-start/src/main/resources/application-test.yml @@ -1,7 +1,12 @@ server: port: 8080 - tomcat: - max-swallow-size: -1 + undertow: + # 平替 tomcat server.tomcat.max-swallow-siz, undertow该值默认为-1 + # max-http-post-size: 10MB + worker-threads: 16 # 4核CPU标准配置 + buffers: + websocket: 8192 # WebSocket缓冲 以字节为单位,这里设置为8 KB + io: 16384 # IO操作缓冲 以字节为单位,这里设置为16 KB error: include-exception: true include-stacktrace: ALWAYS