有个关于SchedulerX的实例化问题:
我使用的SchedulerX版本是1.4.2;
classA 继承 SchedulerX的JavaProcessor 重写process方法 实现定时任务的操作;
classA中有@Autowired注入四个javaBean 分别有 自己写的mapper接口、jdbcTemplate、自己写的feign接口、和框架中的IRedisService;
classB 继承ClassA 重写process方法 实现定时任务;
如果调用调用classB 一切都是ok的 所有javaBean实例化都正常,没有问题;
但是调用classA 会提示feign接口和IRedisService的bean为null 但是自己写的mapper接口 和 jdbcTmplate 在的;
我不理解为啥classA中的部分javaBean会注入为null;
个人推测应该是有自己的实例化机制,导致某些类型的javaBean在父类中没有实例化或者被覆盖;
想知道具体哪些javaBean的类型会被影响,或者是否可以使用springboot默认的实例化
现在的处理措施是
1 不写classA的子类 直接继承JavaProcessor进行操作
2 从spring容器中手动给这个javaBean拿出来,不使用自动注入的方式
你把schedulerx sdk升级到1.11.5试下,feign会导致classLoader和我们取的不一样,所以找不到bean,1.11.5修了这个问题,这个是已知问题。你可以先本地试试看。此回答整理自钉群“【外部】SchedulerX阿里任务调度”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。