解决quartz的Job类使用注解@Service为null的办法

public class QuartzJobFactory implements Job {
    @Autowired
    private RuleEventMatchMapper ruleEventMatchMapper;

    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        try {
            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
            System.out.println(jobExecutionContext);
            //ScheduleJob任务运行时具体参数,可自定义
            ScheduleJob scheduleJob = (ScheduleJob) jobExecutionContext.getMergedJobDataMap().get(
                    "scheduleJob");
            System.out.println(scheduleJob);
            String id = scheduleJob.getJobId();
            RuleEventMatchExample ruleEventMatchExample = new RuleEventMatchExample();
            Criteria criteria = ruleEventMatchExample.createCriteria();
            criteria.andIdEqualTo(id);
            List ruleEventMatches = ruleEventMatchMapper.selectByExample(ruleEventMatchExample);
            for (RuleEventMatch ruleEventMatch : ruleEventMatches) {
                System.out.println(ruleEventMatch);
            }
        } catch (Exception e) {
        
        }
    }
}
加一句话搞定

你可能感兴趣的:(Spring)