我有一个使用@EnabledAsync和@Async注解的spring Boot 应用程序,没有定义任何线程池,而是采用默认值。
检查Grafana上的一些指标,线程数似乎从未停止增加,EC2示例最终崩溃。
我知道我可以定义线程池大小和所有这些值,但首先我想知道spring Boot 使用的是什么值,有没有办法从代码中看到它们?比如getThreafPoolSize()或类似的东西?
我尝试在属性文件中使用debug=true,但是我看不到这些值。有什么想法吗?
我有一个使用@EnabledAsync和@Async注解的spring Boot 应用程序,没有定义任何线程池,而是采用默认值。
检查Grafana上的一些指标,线程数似乎从未停止增加,EC2示例最终崩溃。
我知道我可以定义线程池大小和所有这些值,但首先我想知道spring Boot 使用的是什么值,有没有办法从代码中看到它们?比如getThreafPoolSize()或类似的东西?
我尝试在属性文件中使用debug=true,但是我看不到这些值。有什么想法吗?
1条答案
按热度按时间fnx2tebb1#
您可以在Spring框架的
ThreadPoolTaskExecutor
类中找到默认行为。类中的最大线程池大小定义如下。
ThreadPoolTaskExecutor
详细信息可参见here。