方式一:修改定时任务的线程数量
修改spring boot项目的application配置文件,将下面的配置修改为合适的值,默认1表示所有定时任务都是一个线程来处理,如果前面一个任务中有阻塞后面一个任务时间到了也不会执行。设置大于1则其中一个任务阻塞可以另外一个线程处理下一个任务。具体数量根据实际情况处理
spring.task.scheduling.pool.size=10 #(默认是1,所以阻塞)
方式二:自定义线程池异步执行任务
方式三:让定时任务以异步方式执行
类上@EnableAsync+方法上@Async(其实就是调用TaskSchedulingAutoConfiguration,属性绑定在TaskExecutionProperties)
版权所有 © 【代码谷】 欢迎非商用转载,转载请按下面格式注明出处,商业转载请联系授权,违者必究。(提示:点击下方内容复制出处)
源文:《Spring Boot定时任务阻塞解决办法》,链接:https://www.daimagu.com/article/1012.html,来源:【代码谷】
评论