You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

非Spring Boot的Spring 6应用虚拟线程配置:Tomcat类依赖咨询

关于TomcatProtocolHandlerCustomizer的依赖与使用说明

首先要明确:org.springframework.boot.web.embedded.tomcat.TomcatProtocolHandlerCustomizer是Spring Boot专属类,你的应用是非Spring Boot的纯Spring 6应用且未嵌入Tomcat,这个Bean对你的场景完全没用,直接删掉protocolHandlerVirtualThreadExecutorCustomizer()这个Bean配置即可。

为什么用不上?

这个类的作用是定制Spring Boot内置Tomcat的协议处理器,给嵌入式Tomcat的请求处理线程池替换为虚拟线程。而你的应用没有嵌入Tomcat,自然不需要这类配置。

你的场景下正确的虚拟线程配置

只保留applicationTaskExecutor()这个Bean就足够了,它会为Spring的异步任务(比如标注@Async的方法)提供虚拟线程支持,完全能满足纯Spring应用的异步场景需求。

若误操作非要引入该类(不推荐)

如果是不小心添加了这个配置,硬要引入该类的话,需要添加Spring Boot的Tomcat嵌入式依赖(但这会让应用带上Spring Boot的部分特性,违背你非Spring Boot应用的初衷),Maven依赖如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

再次强调:非Spring Boot的独立Spring应用,不需要也不应该引入这个依赖和配置。

内容的提问来源于stack exchange,提问作者Raju Yadav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 08:47:07