十、启用 Java21 虚拟线程
启用虚拟线程后,http 请求、async 注解处理、部分 job 执行将使用虚拟线程池。
1、通过配置启用(推荐)
v2.7.3 后支持
solon.threads.virtual.enabled: false #启用虚拟线程池(默认false)
2、通过接口启用(旧的)
启动时替换相关执行器,并监视 HttpServerConfigure 事件替换执行器:
@SolonMain
public class App {
public static void main(String[] args) {
Solon.start(App.class, args, app->{
//并行调用启用虚拟线程(部分定时任务在用)
RunUtil.setParallelExecutor(Executors.newVirtualThreadPerTaskExecutor())
//异步调用启用虚扭线程(及 @Async 注解)
RunUtil.setAsyncExecutor(Executors.newVirtualThreadPerTaskExecutor())
//Http请求启用虚扭线程(jlhttp, smart-http 支持)
app.onEvent(HttpServerConfigure.class, e->{
e.setExecutor(Executors.newVirtualThreadPerTaskExecutor());
});
});
}
}