我可以在 Spring Boot 应用程序中配置为 Tomcat 创建的 ForkJoinPool 的并行度吗?

问题描述 投票:0回答:1

调查问题 在 Java 21 上使用虚拟线程时,Spring Boot 应用程序会卡住 我发现在 Spring Boot 应用程序中启用虚拟线程,其 Tomcat 将使用

ForkJoinPool
创建
parallelism = 20
。事实上,这意味着只有 20 个载体线程在虚拟线程被固定时可能会导致问题。

那么Spring Boot中是否有任何属性允许配置Tomcat的

ForkJoinPool
?我试过了

server:
  tomcat:
    threads:
      max: 110

但这没有帮助,而且似乎只适用于平台线程。

java spring-boot tomcat concurrency forkjoinpool
1个回答
0
投票

目前看来无法通过 Spring Boot 的

application.yml
进行配置。据我从调试中了解到,执行此操作的唯一方法是在
JVM
选项中指定 -Djdk.virtualThreadScheduler.parallelism=n

但这显然会影响整个应用程序,而不仅仅是一个特定的

ForkJoinPool

© www.soinside.com 2019 - 2024. All rights reserved.