当前位置: 首页 > news >正文

【优化】Springboot 修改 tomcat连接池

【优化】Springboot 修改 tomcat连接池

        factory.setTomcatProtocolHandlerCustomizers(tomcatProtocolHandlerCustomizers);
 

可以更换为 虚拟线程连接池

package org.config.init;import org.apache.catalina.Context;
import org.apache.catalina.core.AprLifecycleListener;
import org.apache.tomcat.util.scan.StandardJarScanner;
import org.springframework.boot.web.embedded.tomcat.TomcatProtocolHandlerCustomizer;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import java.util.Collection;
import java.util.List;
import java.util.concurrent.Executors;/*** @Description: TomcatFactoryConfig*/
@Configuration
public class TomcatFactoryConfig {/*** tomcat-embed-jasper引用后提示jar找不到的问题*/@Beanpublic TomcatServletWebServerFactory tomcatFactory() {TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() {@Overrideprotected void postProcessContext(Context context) {((StandardJarScanner) context.getJarScanner()).setScanManifest(false);}};factory.addConnectorCustomizers(connector -> {
//            connector.setProperty("relaxedPathChars", "[]{}");
//            connector.setProperty("relaxedQueryChars", "[]{}");connector.setProperty("relaxedPathChars", "\"#<>[\\]^`{|}/");connector.setProperty("relaxedQueryChars", "\"#<>[\\]^`{|}/");});//支持APR  AIO//factory.setProtocol("org.apache.coyote.http11.Http11AprProtocol");//factory.addContextLifecycleListeners(new AprLifecycleListener());//支持APR  AIOCollection<TomcatProtocolHandlerCustomizer<?>> tomcatProtocolHandlerCustomizers = factory.getTomcatProtocolHandlerCustomizers();tomcatProtocolHandlerCustomizers.add(protocolHandlerCustomizer());factory.setTomcatProtocolHandlerCustomizers(tomcatProtocolHandlerCustomizers);return factory;}public static TomcatProtocolHandlerCustomizer<?> protocolHandlerCustomizer(){return protocolHandler -> {protocolHandler.setExecutor(Executors.newVirtualThreadPerTaskExecutor());};}}

http://www.lryc.cn/news/264064.html

相关文章:

  • 百度侯震宇:AI原生与大模型将从三个层面重构云计算
  • 【SpringBoot快速入门】(2)SpringBoot的配置文件与配置方式详细讲解
  • 麒麟V10 ARM 离线生成RabbitMQ docker镜像并上传Harbor私有仓库
  • AI创作系统ChatGPT商业运营网站系统源码,支持AI绘画,GPT语音对话+DALL-E3文生图
  • 剑指offer题解合集——Week1day5
  • Redis设计与实现之数据库
  • 如何在Eclipse中安装WindowBuilder插件,详解过程
  • node.js mongoose schemaTypes
  • 论文解读:On the Integration of Self-Attention and Convolution
  • 【Spring】15 ApplicationContextAware 接口
  • Android 版本控制工具--Git
  • Wireshark高级网络安全分析
  • llvm后端之DAG设计
  • 反序列化 [SWPUCTF 2021 新生赛]ez_unserialize
  • centos(linux)安装jenkins
  • Wireshark统计和可视化
  • 高通平台开发系列讲解(SIM卡篇)SIM软件架构介绍
  • 音频筑基:瞬态、基音、偏噪信号类型分析
  • HarmonyOS ArkTS 中DatePicker先择时间 路由跳转并传值到其它页
  • Axure RP 8 for Mac/win中文版:打造完美交互式原型设计体验
  • 迪文屏开发保姆级教程——页面键盘
  • Unity的UI界面——Text/Image
  • sklearn和tensorflow的理解
  • css中BFC
  • 华为OD机试 - 小朋友来自多少小区(Java JS Python C)
  • 前端:NPM的介绍和使用
  • 力扣57. 插入区间
  • Linux c++开发-11-Socket TCP编程简单案例
  • ros2机器人常规控制流程
  • 分布式全局ID之雪花算法