quartz一分钟教程 java任务调度

 quartz是干啥的? 任务调度用的

任务调度是干啥的?就是在预定的时间做预定的事


1.在quart网站下最新的JAR包

2.建个项目,把quartz的JAR包加入到项目

3.新建一个任务



4.开启任务:




5.运行StartSchedule即可



其中:

"0/2 * * * * ?" 是cronExpression表达式

一共有7组数据组成,位与位之间用空间分隔

分别代表  “秒 分 时 日 月 周 年” 其中年是可以省略的,所以在例子中用了6组

 

 

官方的例子:

Examples

Here are some full examples:

Expression Meaning
0 0 12 * * ? Fire at 12pm (noon) every day
0 15 10 ? * * Fire at 10:15am every day
0 15 10 * * ? Fire at 10:15am every day
0 15 10 * * ? * Fire at 10:15am every day
0 15 10 * * ? 2005 Fire at 10:15am every day during the year 2005
0 * 14 * * ? Fire every minute starting at 2pm and ending at 2:59pm, every day
0 0/5 14 * * ? Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day
0 0/5 14,18 * * ? Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day
0 0-5 14 * * ? Fire every minute starting at 2pm and ending at 2:05pm, every day
0 10,44 14 ? 3 WED Fire at 2:10pm and at 2:44pm every Wednesday in the month of March.
0 15 10 ? * MON-FRI Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday
0 15 10 15 * ? Fire at 10:15am on the 15th day of every month
0 15 10 L * ? Fire at 10:15am on the last day of every month
0 15 10 ? * 6L Fire at 10:15am on the last Friday of every month
0 15 10 ? * 6L Fire at 10:15am on the last Friday of every month
0 15 10 ? * 6L 2002-2005 Fire at 10:15am on every last friday of every month during the years 2002, 2003, 2004 and 2005
0 15 10 ? * 6#3 Fire at 10:15am on the third Friday of every month
0 0 12 1/5 * ? Fire at 12pm (noon) every 5 days every month, starting on the first day of the month.
0 11 11 11 11 ? Fire every November 11th at 11:11am.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Java任务调度可以使用Java内置的Timer和TimerTask类或者使用第三方的Quartz框架来实现。 使用Java内置的Timer和TimerTask类: 1. 创建一个继承自TimerTask的任务类,实现run方法,编写任务的具体逻辑。 ``` public class MyTask extends TimerTask { @Override public void run() { // 任务逻辑 } } ``` 2. 创建一个Timer对象,调用Timer的schedule方法,设置任务的执行时间和执行周期。 ``` Timer timer = new Timer(); MyTask task = new MyTask(); timer.schedule(task, new Date(), 1000 * 60); ``` 这段代码表示,创建一个Timer对象,创建一个MyTask对象,设置任务的首次执行时间为当前时间,执行周期为1分钟。 使用Quartz框架: 1. 引入Quartz的依赖包。 2. 创建一个继承自Job的任务类,实现execute方法,编写任务的具体逻辑。 ``` public class MyJob implements Job { @Override public void execute(JobExecutionContext context) throws JobExecutionException { // 任务逻辑 } } ``` 3. 创建一个Scheduler对象,创建一个JobDetail对象,将任务类和任务名称绑定在一起,创建一个Trigger对象,设置任务的执行时间和执行周期。 ``` Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); JobDetail jobDetail = JobBuilder.newJob(MyJob.class).withIdentity("myJob", "group1").build(); Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("myTrigger", "group1") .startNow() .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(60).repeatForever()) .build(); scheduler.scheduleJob(jobDetail, trigger); scheduler.start(); ``` 这段代码表示,创建一个Scheduler对象,创建一个JobDetail对象,将MyJob和任务名称"myJob"和任务组名"group1"绑定在一起,创建一个Trigger对象,设置任务的首次执行时间为当前时间,执行周期为1分钟,将JobDetail和Trigger绑定在一起,最后调用scheduler.start()启动任务调度

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值