原因:1.@ Scheduled 注解方式级别高于资源注入级别,导致资源注入失败.
            2. 定时任务执行的代码有错误(仔细检查你自己的代码即可)

解决办法:

@Component
public class ScheduleConfig implements ApplicationContextAware {

    private static ApplicationContext context;

    @Override
    public void setApplicationContext(@NotNull ApplicationContext applicationContext) throws BeansException {
        context = applicationContext;
    }

    public static <T> T getBean(Class<T> clazz) {
        return context != null ? context.getBean(clazz) : null;
    }

}

写一个Bean去实现ApplicationContextAware接口,重写setApplicationContextAware方法

在定时任务中调用即可

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐