spring Boot 如何查看线程池大小默认值

bjp0bcyl  于 2022-12-29  发布在  Spring
关注(0)|答案(1)|浏览(300)

我有一个使用@EnabledAsync和@Async注解的spring Boot 应用程序,没有定义任何线程池,而是采用默认值。
检查Grafana上的一些指标,线程数似乎从未停止增加,EC2示例最终崩溃。
我知道我可以定义线程池大小和所有这些值,但首先我想知道spring Boot 使用的是什么值,有没有办法从代码中看到它们?比如getThreafPoolSize()或类似的东西?
我尝试在属性文件中使用debug=true,但是我看不到这些值。有什么想法吗?

fnx2tebb

fnx2tebb1#

您可以在Spring框架的ThreadPoolTaskExecutor类中找到默认行为。
类中的最大线程池大小定义如下。

private int corePoolSize = 1;

private int maxPoolSize = Integer.MAX_VALUE;

private int keepAliveSeconds = 60;

ThreadPoolTaskExecutor详细信息可参见here

相关问题