疯狂的狮子Li
2024-01-22 a07e5d783374f379cf51e74be5cd2b54fa6147aa
update 优化 解除注释 使用spring包装虚拟线程池无须担心idea警告问题
已修改2个文件
15 ■■■■ 文件已修改
ruoyi-admin/src/main/resources/application.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/resources/application.yml
@@ -64,7 +64,6 @@
    name: ${ruoyi.name}
  threads:
    # 开启虚拟线程 仅jdk21可用
    # 开启后还需更改 UndertowConfig 虚拟线程配置
    virtual:
      enabled: false
  # 资源信息
ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java
@@ -2,9 +2,11 @@
import io.undertow.server.DefaultByteBufferPool;
import io.undertow.websockets.jsr.WebSocketDeploymentInfo;
import org.dromara.common.core.utils.SpringUtils;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.core.task.VirtualThreadTaskExecutor;
/**
 * Undertow 自定义配置
@@ -24,12 +26,12 @@
            WebSocketDeploymentInfo webSocketDeploymentInfo = new WebSocketDeploymentInfo();
            webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(false, 512));
            deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo);
            // 使用虚拟线程 解除下方注释 仅限jdk21
//            if (SpringUtils.isVirtual()) {
//                VirtualThreadTaskExecutor executor = new VirtualThreadTaskExecutor("undertow-");
//                deploymentInfo.setExecutor(executor);
//                deploymentInfo.setAsyncExecutor(executor);
//            }
            // 使用虚拟线程
            if (SpringUtils.isVirtual()) {
                VirtualThreadTaskExecutor executor = new VirtualThreadTaskExecutor("undertow-");
                deploymentInfo.setExecutor(executor);
                deploymentInfo.setAsyncExecutor(executor);
            }
        });
    }