public static void main(String[] args) {
try { //创建scheduler
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
//定义一个Trigger
Trigger trigger =TriggerBuilder.newTrigger().withIdentity("trigger1", "group1") //定义name/group
.startNow()//一旦加入scheduler,立即生效
.withSchedule(SimpleScheduleBuilder.simpleSchedule() //使用SimpleTrigger
.withIntervalInSeconds(1) //每隔一秒执行一次
.repeatForever()) //一直执行
.build();
//定义一个JobDetail
JobDetail job =JobBuilder.newJob(HelloQuartz.class) //定义Job类为HelloQuartz类,这是真正的执行逻辑所在
.withIdentity("job1", "group1") //定义name/group
.usingJobData("name", "quartz") //定义属性
.build();
//加入这个调度
scheduler.scheduleJob(job, trigger);
//启动之
scheduler.start();
//运行一段时间后关闭
Thread.sleep(10000);
scheduler.shutdown(true);
} catch (Exception e) {
e.printStackTrace();
}
}
public class HelloQuartz implements Job {
public void execute(JobExecutionContext context) throws JobExecutionException {
JobDetail detail = context.getJobDetail();
String name = detail.getJobDataMap().getString("name");
System.out.println("say hello to " + name + " at " + new Date());
}
}
JobDetail job = JobBuilder.newJob(RemindJob.class)
.withIdentity("job1", "group1").build();//创建一个任务
/**
* 创建触发器
* 第一种方式 不太好
*/
SimpleTrigger trigger = TriggerBuilder.newTrigger().withIdentity("myTrigger", "myTriggerGroup").
withSchedule(SimpleScheduleBuilder.simpleSchedule().
withIntervalInSeconds(3).
repeatForever()).
startAt(new Date(System.currentTimeMillis()+1000)).build();
/**
* 创建触发器
* 第二种 方式 非常好
* 可以 好用 2013年每月的第三个星期五上午10:30触发 0 30 10 ? * 6#3 2013
* 2016年每月的第一个星期四下午16:17触发 0 17 16 ? * 5#1 2016
* 每天15点到16点每5分钟运行一次,此外,每天17点到18点每5分钟运行一次
*/
/*CronTrigger trigger=TriggerBuilder.newTrigger()
.withIdentity("myTrigger", "myTriggerGroup")
.withSchedule(CronScheduleBuilder.cronSchedule("0 18 16 ? * 5#1 2016")).build();*/
SchedulerFactory sf=new StdSchedulerFactory();//创建调度者工厂
Scheduler scheduler = sf.getScheduler();//创建一个调度者
scheduler.scheduleJob(job,trigger);//注册并进行调度
scheduler.start();//启动调度
//Thread.sleep(millis)
//scheduler.shutdown();//关闭调度
*/
public class RemindJob implements Job {
private RemindService service=new RemindService();
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
service.printPlan("你好!");
Date date=new Date();
String time = date.toString();
System.out.println(time+"job is starting");
}
JobDetail job=JobBuilder.newJob(RemindJob.class)
.withIdentity("job1", "group1")
.usingJobData("hello", "we are family")
.build();
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
service.printPlan("你好!");
JobKey key=context.getJobDetail().getKey();
JobDataMap map = context.getJobDetail().getJobDataMap();
String string = map.getString("hello");
System.out.println(key+"==========="+string);
Date date=new Date();
String time = date.toString();
System.out.println(time+"job is starting");
}
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
service.printPlan("你好!");
JobKey key=context.getJobDetail().getKey();
/* JobDataMap map = context.getJobDetail().getJobDataMap();
String string = map.getString("hello");
System.out.println(key+"==========="+string);*/
JobDataMap map = context.getMergedJobDataMap();
String string = map.getString("hello");
System.out.println(key+"--------------------- "+string);
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有