mirror of
https://gitee.com/dromara/RuoYi-Cloud-Plus.git
synced 2025-09-03 19:16:07 +00:00
add 增加 StringUtils.isVirtual 方法
update 优化 undertow 虚拟线程实现
This commit is contained in:
@@ -3,13 +3,17 @@ package org.dromara.common.core.utils;
|
|||||||
import cn.hutool.extra.spring.SpringUtil;
|
import cn.hutool.extra.spring.SpringUtil;
|
||||||
import org.springframework.aop.framework.AopContext;
|
import org.springframework.aop.framework.AopContext;
|
||||||
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
|
||||||
|
import org.springframework.boot.autoconfigure.thread.Threading;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.core.env.Environment;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* spring工具类
|
* spring工具类
|
||||||
*
|
*
|
||||||
* @author Lion Li
|
* @author Lion Li
|
||||||
*/
|
*/
|
||||||
|
@Component
|
||||||
public final class SpringUtils extends SpringUtil {
|
public final class SpringUtils extends SpringUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -57,4 +61,8 @@ public final class SpringUtils extends SpringUtil {
|
|||||||
return getApplicationContext();
|
return getApplicationContext();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isVirtual() {
|
||||||
|
return Threading.VIRTUAL.isActive(getBean(Environment.class));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -25,8 +25,10 @@ public class UndertowConfig implements WebServerFactoryCustomizer<UndertowServle
|
|||||||
webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(false, 512));
|
webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(false, 512));
|
||||||
deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo);
|
deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo);
|
||||||
// 使用虚拟线程 解除下方注释 仅限jdk21
|
// 使用虚拟线程 解除下方注释 仅限jdk21
|
||||||
// if (SpringUtils.getProperty("spring.threads.virtual.enabled", Boolean.class, false)) {
|
// if (SpringUtils.isVirtual()) {
|
||||||
// deploymentInfo.setExecutor(Executors.newVirtualThreadPerTaskExecutor());
|
// ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor();
|
||||||
|
// deploymentInfo.setExecutor(executor);
|
||||||
|
// deploymentInfo.setAsyncExecutor(executor);
|
||||||
// }
|
// }
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user