Spring Boot定时任务阻塞解决
方式一:修改定时任务的线程数量
修改spring boot项目的application配置文件,将下面的配置修改为合适的值,默认1表示所有定时任务都是一个线程来处理,如果前面一个任务中有阻塞后面一个任务时间到了也不会执行。
设置大于1则其中一个任务阻塞可以另外一个线程处理下一个任务。具体数量根据实际情况处理
spring.task.scheduling.pool.size=10 #(默认是1,所以阻塞)
方式二:自定义线程池异步执行任务
方式三:让定时任务以异步方式执行
类上@EnableAsync+方法上@Async
(其实就是调用TaskSchedulingAutoConfiguration,属性绑定在TaskExecutionProperties)
原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/243557.html