定时任务解决方案
两种方案,基本上都是一样,就是配置时间规则的时候,不一致。两种方案:CronTrigger基于日历和时间,SimpleTrigger基于时间。方案一是CronTrigger配置,方案二是SimpleTrigger配置。
Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了 Quartz 的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业。
SimpleTrigger 当需要在规定的时间执行一次或在规定的时间段以一定的时间间隔重复触发执行Job时,SimpleTrigger就可以满足要求;SimpleTrigger的属性有:开始时间、结束时间、重复次数和重复的时间间隔,重复次数属性的值可以为0、正整数、或常量 ,重复的时间间隔属性值必须为0或长整型的正整数,以毫秒作为时间单位,当重复的时 间间隔为0时,意味着与Trigger同时触发执行(或几乎与Scheduler开始时同时触发执行)。如果有指定结束时间属性值,则结束时间属性优先于重复次数属性,这样的好处在于:当我们需要创建一个每间隔10秒钟触发一次直到指定的结束时间的 Trigger,而无需去计算从开始到结束的所重复的次数,我们只需简单的指定结束时间和使用REPEAT_INDEFINITELY作为重复次数的属性 值即可(我们也可以指定一个比在指定结束时间到达时实际执行次数大的重复次数)。
方案一
先写一个业务类,然后进行如下配置,一步都不能少,这样就能完成一个定时任务。
第一步写一个业务类
.;
import ;
import ;
import ;
import ;
import .URI;
import ;
import ;
import ;
import ;
import ;
.;
.;
.;
.;
.;
.;
.;
.;
.;
.;
.;
.;
***@Service
public class PushService extends BaseServiceImpl implements IPushService {
private static final Logger log = ();
String requestUrl = ("config").getString("push_path");
private static boolean isRunning = false;
***@Resource
private IPushQueryService pushQueryService;
public void pushService(){
if(isRunning){
return;
}
spring定时任务配置 来自淘豆网m.daumloan.com转载请标明出处.