400-685-0732 电话咨询定制营销方案
关注专业seo外包公司
SEO创新会
文军营销
大数据驱动  让营销不走弯路

java定时任务 java定时任务是什么

首页  >   网站建设  >  java定时任务 java定时任务是什么

在学习java的过程当中,我们所需要学习的内容是非常多的,其中经常会看见了一个就是java定时任务,你知道java定时任务是什么吗?具体又是如何编写的呢?接下来小编会做一个详细的有关java定时任务的介绍,希望可以帮助到大家。

  java定时任务——java定时任务是什么

在java中一个完整定时任务需要由Timer、TimerTask两个类来配合完成。API中是这样定义他们的,Timer:一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。由TimerTask:Timer安排为一次执行或重复执行的任务。我们可以这样理解Timer是一种定时器工具,用来在一个后台线程计划执行指定任务,而TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。

  java两个常见的定时任务介绍

1:java+Quartz实现定时任务:

首先:导入quartz相关的jar包,这里我用的是maven构建的项目,pom.xml文件导入如下:

org.quartz-scheduler

quartz

org.quartz-scheduler

quartz-jobs

定义要进行定时任务类(该类实现了Quartz下的job类):

publicclassMyJobimplementsJob{

@Override

publicvoidexecute(JobExecutionContextarg0)throwsJobExecutionException{

//TODOAuto-generatedmethodstub

System.out.println(“开启了定时任务”);

}

}

接下来要做的就是按照定时任务的固定步骤来做即可:1:定义调度器并且开启2:定义任务器3:定义触发器4注册

具体代码参考如下:

publicclassQuartzDemo{

publicvoidquartzTest()throwsInterruptedException{

try{

//获取调度器

Schedulerscheduler=StdSchedulerFactory.getDefaultScheduler();

scheduler.start();

//创建任务器:定义任务细节  JobDetailjobDetail=JobBuilder.newJob(MyJob.class).withIdentity(“job1″,”group1”).build();  ScheduleBuilderscheduleBuilder=SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever();

//定义触发器  Triggertrigger=TriggerBuilder.newTrigger().withIdentity(“simpleTrigger”,”simpleTriggerGroup”)

.withSchedule(scheduleBuilder).startNow().build();

//将任务和触发器注册到调度器中

scheduler.scheduleJob(jobDetail,trigger);

Thread.sleep(1000*30);

//scheduler.shutdown();

}catch(SchedulerExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

2:spring+quartz定义定时任务:

spring管理quartz有两种方式:

1):自定义的任务类继承特定的基类QuartzJobBean

2):自定义的任务类不继承特定的基类完全就是一个普通的pojo:这种方式的实现主要是spring下的类:org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean

这里只讲述第二种实现方式:

1:定义任务类:

publicclassQuartzJob{

privatevoidrunJob(){

System.out.println(“开启定时任务!!”);

}

}

2:通过spring配置的方式来定义以下几个步骤:1:定义调度器并且开启2:定义任务器3:定义触发器4注册。

以上就是有关java定时任务的所有内容,当然,在java定时任务学习的过程当中,也算着一些知识点只是小小的一部分,所以想要学好java定时任务,那么还要去查询更多与之有关的内容,有需要的可以关注我们文军营销的官网,这里还有更多精彩的内容等着你。