Need to invoke method ‘xxx_method‘ found on proxy for target class ‘xxx_class‘ but cannot be delegat

报错信息:
Need to invoke method ‘xxx_method’ found on proxy for target class ‘xxx_class’ but cannot be delegated to target bean. Switch its visibility to package or protected.

报错代码:

@Scheduled(cron = "0 0 1 * * ?")
private void ddd(){
    
    }

百度了下,说是因为 私有的定时任务方法,无法被找到,所以无法被代理。
private 改为 public 或者 protected即可。

实测有效,问题解决。

其他

还有一个差别是:
未改前本地可以启动,放到服务器上无法启动 。
本机jdk版本 1.8.0_101
服务器上jdk版本 1.8.0_242

因为解决了问题,这里不细究了,不同jdk对代理的要求可能不同。

猜你喜欢

转载自blog.csdn.net/enthan809882/article/details/112619632