springboot项目用线程池怎么用配置文件的方式控制线程池大小

最近尝试了一个想法,springboot和java的线程池一起开发,但是大小的控制上想放在配置文件里面,线程池是写在方法外面static的,倒是知道springboot有个自定义线程池,但没有用到那个,用的是java自身的线程池。试了一下把大小的配置项写在配置文件里面,程序用Value注解去取,但操作发现不行,运行空异常。大家有什么可行的点子吗?此外,属实是没有使用自定义线程池的打算,那个封装度太高了,没有办法把控的较为细微,和最终目的有点冲突。

找到解决方法了,在需要的类中写一个单参的方法,用Value注解可以把配置值当做方法参数使用。

如Test类中存在threadPool这个static属性,可以写一个如下的方法,Test类需要提交给Spring容器

@Value("${pool.task.num}")
public void setTask_num(Integer num){
    Test.threadPool=Executors.newFixedThreadPool(num);
}

回答不易,求求您点赞关注哦

听起来您正在尝试使用@ValueSpring 中的注释从配置文件中注入 Java 线程池的大小,但它没有按预期工作。以下是发生这种情况的几个可能原因: