quartz设置了cron表达式,怎么得到这个任务会执行的次数,或者是确定这个任务已经执行完成了

如题,怎么得到这个任务会执行的次数,怎么确定这个任务不会在执行了。求大神解答,谢谢

我换了一种方式,在任务执行类中通过这段代码 jobExecutionContext.getNextFireTime() 拿到当前任务的下次执行时间,如过这个任务已经执行完毕了,那这段代码获取下次执行时间就会返回null,通过这个null来判断cron表达式是否执行完。不知道后期会有什么问题,暂时这样解决吧。谢谢回答问题的大神们。

在任务内部做这些标志和统计,然后写文件等传递出来

菜鸟给你一点提示吧 ,quartz如果定义一个定时任务设置为每天早上1点执行一次,那么他的执行次数你说会有多少次?
也就是说,你没有给定你执行任务的终止时间,如果给定了终止时间,那么好办,你自己通过定义标志然后自己统计 出来便可。。。。。

如何认为这个任务已经完成,你可以在完成每次任务之后,通过改变一个标志,通过这个标志去判定。。

纯属通过楼上的大神指定,给你更详尽的解释。。

不排除quartz内部自己有这样的类似方法,据我所知是没有的。

首页,可以在job类中打印执行信息;其次,cron表达式决定了任务的执行次数的,而且统计这个执行次数为没有多大的意义啊。

     String CronExpression = request.getParameter("CronExpression");
     CronTriggerImpl cronTriggerImpl = new CronTriggerImpl();
     cronTriggerImpl.setCronExpression(CronExpression);//这里写要准备猜测的cron表达式  
     Calendar calendar = Calendar.getInstance();
     Date now = calendar.getTime();
     calendar.add(Calendar.DAY_OF_MONTH, 1);//制定日期范围
     List<String> list = new ArrayList<String>();
     List<Date> dates = TriggerUtils.computeFireTimesBetween(
     cronTriggerImpl, null, now, calendar.getTime());//这个是重点,一行代码搞定~~  
     //System.out.println(calendar.getTime());
     SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     for (int i = 0; i < dates.size(); i++) {
         if (i > 4) {//这个是提示的日期个数  

             break;
         }
         list.add(dateFormat.format(dates.get(i)).toString());
       //System.out.println(dateFormat.format(dates.get(i)));
       }
    String name[]=new String[list.size()];
    for(int i=0,j=list.size();i<j;i++){
        name[i]=list.get(i);
        }
    return Result.ok().put("list", name);

 用吧

可以参考参考这个系统的做法:https://item.taobao.com/item.htm?id=543651882796