创建任务代码片段,每次启动项目会正常生成job,状态为NORMAL
private void initXXXJob() throws SchedulerException { JobDetail jobDetail = JobBuilder .newJob(XXXJob.class) .withIdentity("XXXJob","XXXJob").build(); CronTrigger trigger = TriggerBuilder .newTrigger() .withIdentity("XXXJob","XXXJob") .forJob(jobDetail).withSchedule( CronScheduleBuilder.cronSchedule("0 10 4 * * ? *")) .build(); scheduler.scheduleJob(jobDetail, trigger); }
job类代码
@Component public class XXXJob implements Job{ @Logger static Log log; @Resource public XXXHome xxxHome; private static boolean isRunning = false; @Override public void execute(JobExecutionContext arg0) throws JobExecutionException { if(isRunning){ return; } isRunning = true; try { xxxHome.download(); } catch (Exception e) { e.printStackTrace(); log.error(e.getMessage()); isRunning = false; } finally{ isRunning = false; } } }
看不到任何报错啊,在execute方法里打断点,发现没有进入方法,每当执行之后,job的status就会变成ERROR,应该从什么地方考虑这个问题呢?
没有进入execute方法,直接变为ERROE的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。