From a84a3c6049d8ae2a21a6274e8cef14119432f886 Mon Sep 17 00:00:00 2001 From: dataprince Date: Sun, 14 Jan 2024 08:54:22 +0800 Subject: [PATCH] =?UTF-8?q?web=E5=AE=B9=E5=99=A8=E4=BB=8Eundertow=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E5=88=B0tomcat=EF=BC=8C=E6=9B=B4=E5=A5=BD=E5=9C=B0?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=99=9A=E6=8B=9F=E7=BA=BF=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.yml | 4 +-- .../src/main/resources/application.yml | 33 +++++++++++-------- ruoyi-common/ruoyi-common-web/pom.xml | 20 +++++------ .../common/web/config/UndertowConfig.java | 26 +++++++-------- ...ot.autoconfigure.AutoConfiguration.imports | 1 - ruoyi-extra/ruoyi-monitor/pom.xml | 24 +++++++------- .../admin/config/AdminServerConfig.java | 18 +++++----- 7 files changed, 66 insertions(+), 60 deletions(-) diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index b594f2a..325da9b 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -95,7 +95,7 @@ redisson: --- # 监控中心客户端配置 spring.boot.admin.client: # 增加客户端开关 - enabled: false + enabled: true url: http://localhost:9090/admin instance: service-host-type: IP @@ -106,7 +106,7 @@ spring.boot.admin.client: powerjob: worker: # 如何开启调度中心请查看文档教程 - enabled: false + enabled: true # 需要先在 powerjob 登录页执行应用注册后才能使用 app-name: ruoyi-worker # 28080 端口 随着主应用端口飘逸 避免集群冲突 diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 2bb5756..a26eb42 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -33,20 +33,27 @@ server: # 应用的访问路径 context-path: / + # tomcat web容器配置 + tomcat: + # tomcat的URI编码 + uri-encoding: UTF-8 + # 连接数满后的排队数,默认为100 + accept-count: 1000 + # undertow web容器配置 - undertow: - # HTTP post内容的最大大小。当值为-1时,默认值为大小是无限的 - max-http-post-size: -1 - # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理 - # 每块buffer的空间大小,越小的空间被利用越充分 - buffer-size: 512 - # 是否分配的直接内存 - direct-buffers: true - threads: - # 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程 - io: 8 - # 阻塞任务线程池, 当执行类似servlet请求阻塞操作, undertow会从这个线程池中取得线程,它的值设置取决于系统的负载 - worker: 256 +# undertow: +# # HTTP post内容的最大大小。当值为-1时,默认值为大小是无限的 +# max-http-post-size: -1 +# # 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理 +# # 每块buffer的空间大小,越小的空间被利用越充分 +# buffer-size: 512 +# # 是否分配的直接内存 +# direct-buffers: true +# threads: +# # 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程 +# io: 8 +# # 阻塞任务线程池, 当执行类似servlet请求阻塞操作, undertow会从这个线程池中取得线程,它的值设置取决于系统的负载 +# worker: 256 # 日志配置 logging: diff --git a/ruoyi-common/ruoyi-common-web/pom.xml b/ruoyi-common/ruoyi-common-web/pom.xml index 073d667..fb8f997 100644 --- a/ruoyi-common/ruoyi-common-web/pom.xml +++ b/ruoyi-common/ruoyi-common-web/pom.xml @@ -45,18 +45,18 @@ org.springframework.boot spring-boot-starter-web - - - spring-boot-starter-tomcat - org.springframework.boot - - + + + + + + - - org.springframework.boot - spring-boot-starter-undertow - + + + + org.springframework.boot diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/UndertowConfig.java b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/UndertowConfig.java index eb79e08..6a53d2e 100644 --- a/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/UndertowConfig.java +++ b/ruoyi-common/ruoyi-common-web/src/main/java/com/ruoyi/common/web/config/UndertowConfig.java @@ -1,8 +1,8 @@ package com.ruoyi.common.web.config; import com.ruoyi.common.core.utils.SpringUtils; -import io.undertow.server.DefaultByteBufferPool; -import io.undertow.websockets.jsr.WebSocketDeploymentInfo; +//import io.undertow.server.DefaultByteBufferPool; +//import io.undertow.websockets.jsr.WebSocketDeploymentInfo; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory; import org.springframework.boot.web.server.WebServerFactoryCustomizer; @@ -14,7 +14,7 @@ import java.util.concurrent.Executors; * * @author Lion Li */ -@AutoConfiguration +//@AutoConfiguration public class UndertowConfig implements WebServerFactoryCustomizer { /** @@ -23,16 +23,16 @@ public class UndertowConfig implements WebServerFactoryCustomizer { - WebSocketDeploymentInfo webSocketDeploymentInfo = new WebSocketDeploymentInfo(); - webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(false, 512)); - deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo); - // 启用JAVA21虚拟线程 - if (SpringUtils.getProperty("spring.threads.virtual.enabled", Boolean.class, false)) { - deploymentInfo.setExecutor(Executors.newVirtualThreadPerTaskExecutor()); - } - - }); +// factory.addDeploymentInfoCustomizers(deploymentInfo -> { +// WebSocketDeploymentInfo webSocketDeploymentInfo = new WebSocketDeploymentInfo(); +// webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(false, 512)); +// deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo); +// // 启用JAVA21虚拟线程 +// if (SpringUtils.getProperty("spring.threads.virtual.enabled", Boolean.class, false)) { +// deploymentInfo.setExecutor(Executors.newVirtualThreadPerTaskExecutor()); +// } +// +// }); } } diff --git a/ruoyi-common/ruoyi-common-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index ec9a3d9..8a56fa5 100644 --- a/ruoyi-common/ruoyi-common-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/ruoyi-common/ruoyi-common-web/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -2,5 +2,4 @@ com.ruoyi.common.web.config.CaptchaConfig com.ruoyi.common.web.config.FilterConfig com.ruoyi.common.web.config.I18nConfig com.ruoyi.common.web.config.ResourcesConfig -com.ruoyi.common.web.config.UndertowConfig com.ruoyi.common.web.config.RepeatSubmitConfig diff --git a/ruoyi-extra/ruoyi-monitor/pom.xml b/ruoyi-extra/ruoyi-monitor/pom.xml index 2399602..24914a3 100644 --- a/ruoyi-extra/ruoyi-monitor/pom.xml +++ b/ruoyi-extra/ruoyi-monitor/pom.xml @@ -16,20 +16,20 @@ org.springframework.boot spring-boot-starter-web - - - - org.springframework.boot - spring-boot-starter-tomcat - - + + + + + + + - - - org.springframework.boot - spring-boot-starter-undertow - + + + + + diff --git a/ruoyi-extra/ruoyi-monitor/src/main/java/com/ruoyi/monitor/admin/config/AdminServerConfig.java b/ruoyi-extra/ruoyi-monitor/src/main/java/com/ruoyi/monitor/admin/config/AdminServerConfig.java index e2a9c51..a1503e5 100644 --- a/ruoyi-extra/ruoyi-monitor/src/main/java/com/ruoyi/monitor/admin/config/AdminServerConfig.java +++ b/ruoyi-extra/ruoyi-monitor/src/main/java/com/ruoyi/monitor/admin/config/AdminServerConfig.java @@ -3,7 +3,7 @@ package com.ruoyi.monitor.admin.config; import de.codecentric.boot.admin.server.config.EnableAdminServer; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration; -import org.springframework.boot.task.TaskExecutorBuilder; +//import org.springframework.boot.task.TaskExecutorBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; @@ -16,16 +16,16 @@ import java.util.concurrent.Executor; * * @author Lion Li */ -@Configuration -@EnableAdminServer +//@Configuration +//@EnableAdminServer public class AdminServerConfig { - @Lazy - @Bean(name = TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME) - @ConditionalOnMissingBean(Executor.class) - public ThreadPoolTaskExecutor applicationTaskExecutor(TaskExecutorBuilder builder) { - return builder.build(); - } +// @Lazy +// @Bean(name = TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME) +// @ConditionalOnMissingBean(Executor.class) +// public ThreadPoolTaskExecutor applicationTaskExecutor(TaskExecutorBuilder builder) { +// return builder.build(); +// } }