讲师回答 / 翔仔
不好意思哈,前段时间太忙导致现在才能回答问题。针对同学的问题,这个更偏向于业务,既然是业务需求,就不必拘泥于用quartz来完成。以下提供简单的实现思路:你可以new一个quartz任务,每十天执行一次,再new一个quartz任务,每天凌晨执行一次,用来检查每十天执行的任务的那个task是否执行成功,距离上次执行时间是否超过了一天。细节是可以在某张表或者内存里设置一个状态量还有记录上次执行第一个任务(10天执行一次的任务)的执行时间,如果一次任务成功率不达标,就给状态量置为false,同时将执行的时间记...
2017-07-31
老师最后说endAt是优先于withRepeatCount的,个人觉得这句话有误,应该是从两者中取较先结束的那个作为结束条件。 老师的例子作为一个方面,即endAt时间早于repeatCount的第三次执行,因此未执行够就结束了。我自己又写了个例子, endAt在100秒之后,每两秒执行一次,repeat 3次,3次之后也是结束了,没有到endAt的时间; 因此这样看来是取两者的较早者的时间作为结束条件的,不存在谁优先于谁的情况,个人拙见,欢迎指正
2017-07-26
讲师回答 / 翔仔
这个是Quartz 中自带的一个线程池的实现。类如其名,这只是线程池的一个简单实现,没有提供动态自发调整等高级特性。你可以在里面预先指定好并发的线程数,就好比生产者消费者模型,里面就有有限的工作者线程,在同一时间内就只能并发执行相应数量的任务,多出的任务就要排队。它的具体实现同学可以去看看相关的源码,肯定会有收获。 使用方式有两种,第一种在quartz.properties里面去指定,主要指定这个参数org.quartz.threadPool.threadCount,咱们在教程里也默认声明式地用上了这个线...
2017-07-23
最新回答 / 金金offer来
可以啊,用“,”隔开就好。。“,” 表示指定多个值,例如在时字段上设置 "9,12,20"就表示在9:00,12:00,20:00这三个时间点触发 Cron表达式是:0 0 9,12,20 * * ?
2017-07-21