说明:如果您有任何疑问或想咨询其他业务请拨打电话 400 685 0732
全网监测海量数据按需发布监测预警
实时把握舆情动态精准追溯信息源头
在学习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定时任务,那么还要去查询更多与之有关的内容,有需要的可以关注我们文军营销的官网,这里还有更多精彩的内容等着你。
推荐阅读
java定时器 java定时器使用注意事项是什么 | 文军营销在学习java的过程当中,java定时器是我们必须要了解的,也是必须要掌握的一个知识点,那么java定时器是什么?在使用时需要注意什么呢?接下来我们就一起来好好的了解一...java运行环境 怎么安装java的运行环境 | 文军营销java运行环境如何安装?如何检查自己的计算机是否有java运行环境?java运行环境是java使用过程当中非常重要的,否则就会影响到java的编程,所以接下来...java与c语言的区别 java和c语言有什么不同 | 文军营销目前在语言编辑的过程当中我们接触的就是c语言和java编程,可是c语言与java究竟有什么区别呢?学习编程语言之前,我们就来了解一下这两者之间的具体区别在哪吧。
说明:如果您有任何疑问或想咨询其他业务请拨打电话 400 685 0732