Java Quartz用法
code:
这里的MyJob必须是public,这里Job实例化的时候要用到反射,必须是public的,不能与调度操作放同一个.java文件中。
package com.qhong; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; /** * Created by Administrator on 2017/3/14 0014. */ public class MyJob implements Job { @Override //把要执行的操作,写在execute方法中 public void execute(JobExecutionContext arg0) throws JobExecutionException { DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS"); System.out.println("测试Quartz"+ df.format(Calendar.getInstance().getTime())); } }
Main:
package com.qhong; import org.quartz.*; import org.quartz.impl.StdSchedulerFactory; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; import java.util.Calendar; public class Main { public static void main(String[] args) { DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS"); System.out.println("开始时间:"+ df.format(Calendar.getInstance().getTime())); //通过schedulerFactory获取一个调度器 SchedulerFactory schedulerfactory = new StdSchedulerFactory(); Scheduler scheduler = null; try { // 通过schedulerFactory获取一个调度器 scheduler = schedulerfactory.getScheduler(); // 创建jobDetail实例,绑定Job实现类 // 指明job的名称,所在组的名称,以及绑定job类 JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity("job1", "jgroup1").build(); // 定义调度触发规则 // 使用simpleTrigger规则 // Trigger trigger=TriggerBuilder.newTrigger().withIdentity("simpleTrigger", "triggerGroup") // .withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(1).withRepeatCount(8)) // .startNow().build(); // 使用cornTrigger规则 每天10点42分 Trigger trigger = TriggerBuilder.newTrigger().withIdentity("simpleTrigger", "triggerGroup") .withSchedule(CronScheduleBuilder.cronSchedule("0/15 * * * * ? *")) .startNow().build(); // 把作业和触发器注册到任务调度中 scheduler.scheduleJob(job, trigger); // 启动调度 scheduler.start(); } catch (Exception e) { e.printStackTrace(); } } }
Result:
开始时间:2017-03-14 15:12:53:516 测试Quartz2017-03-14 15:13:00:005 测试Quartz2017-03-14 15:13:15:001 测试Quartz2017-03-14 15:13:30:002 测试Quartz2017-03-14 15:13:45:049 测试Quartz2017-03-14 15:14:00:008 测试Quartz2017-03-14 15:14:15:001 测试Quartz2017-03-14 15:14:30:008 测试Quartz2017-03-14 15:14:45:005 测试Quartz2017-03-14 15:15:00:002 测试Quartz2017-03-14 15:15:15:000
http://www.cnblogs.com/jiaoyiping/archive/2013/05/20/3088092.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)