开发者社区> 问答> 正文

quartz定时任务插件问题,项目启动时job状态normal,一旦执行变为error?报错

创建任务代码片段,每次启动项目会正常生成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,应该从什么地方考虑这个问题呢?





展开
收起
爱吃鱼的程序员 2020-06-08 21:30:15 1292 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    没有进入execute方法,直接变为ERROE的

    2020-06-08 21:30:33
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载