起初在创建定时任务单线程是可用使用私有的修饰方法,后来改成多线程增加注解
@EnableAsync
@Async
启动报错:Need to invoke method ‘task’ found on proxy for target class ,报错原因是因为可能多线程情况下不支持私有的修饰方法,从报错信息来看 应该是task找不到私有的定时任务方法,invoke通过反射获取不到,这样我们只需要改成公开的public就可以了,把private私有的换掉就行
//把private换成public即可
public void task2() throws InterruptedException {
}
参考文献:
1、 https://blog.csdn.net/qq_28567955/article/details/102601921 20200508
2、 https://stackoverflow.com/questions/50888015/how-to-use-async-with-scheduled-annotation-in-springboot 20200508